- 博客(13)
- 收藏
- 关注
原创 带宽占满导致系统可用性下降
背景:异地通过专线访问应用服务C故障:客户端出现某些业务业务场景无法操作或处理很慢,如:登陆排查步骤:通过专线流量图,查看专线流量使用情况,发现故障时间段内专线流量占满原因分析:有响应内容大或者请求内容大的业务请求将专线的带宽占满,可能是服务接口返回数据的原因、或者是请求接口的数据原因、也可能是静态资源下载的问题。通过网络抓包并结合请求处理业务定位具体的问题原因。最终,通过上述步骤定位为静态资源下载导致的带宽占满问题。首次登陆,客户端需要从服务端下载大量的静态资源。在系统使用高峰期就引爆了这个问题。
2020-12-11 16:27:37 769
原创 一个实际项目中完整的性能调优的故事
项目的实施过程中要求性能测试。系统优化涉及到了一下内容:关于oracle表空间优化,索引空间优化、表索引优化(涉及到表收集操作)关于jemeter服务端及客户端的配置参数优化(jemeter启动内存分配)关于windows客户端机器(扩大机器的tcp通信端口范围)关于服务器关于网关关于redis...
2020-12-11 15:34:24 139
原创 记一次实际生产中服务不可用故障
(1)现象:在某段时间内无法请求到微服务A,连接服务超时,20分钟左右服务又恢复可用(2)服务请求链路:客户端——nginx——微服务网关——微服务A排查过程:查看故障时间段经过nginx和微服务网关对微服务A的请求,在微服务A中没有请求日志,也就是说故障时间段请求并没有到达微服务。(3)故障原因分析:这种现象的原因一般有两种可能,一种是是微服务处理请求时间超过服务熔断时间,导致服务被熔断,在熔断时间内微服务是不可用的。另外一种,微服处理请求时间超过服务的负载均衡配置的请求读取超时时间,然后请求被负载
2020-12-11 15:17:21 394
原创 在spirngboot启动进程中对自定义系统配置文件中重复配置sql问题的优化
(1)问题:如果在sql模板配置文件中配置同名的sql脚本,会导致程序无法正确读取到相应sql配置脚本(2)优化方法:开发重复脚本配置检查组件SftlSourceChecker,在应用启动时调用其进行检查。检查不通过则打印重复项提醒日志并调用System.out(0)退出启动(3)涉及的服务:bath、basic、report(4)在使用检查组件启动服务时,目前batch服务、report服务正常、basic服务存在3项重复配置(需要配置的定义者判断删留)1、ActionEntity.FindAct
2020-12-01 11:22:42 129
原创 利用性能测试排查服务线上内存占用过高的问题续篇
内存占用率高原因排查(1)问题:服务器内存占用率居高不下(2)线索:TreeMap、ReentrantLock实例数高(excel导入组件用到)(3)原因:1、线程池线程中ThreadLocal存放的数据内存泄露。由于线程池中线程的生命很长,在线程池的线程中使用ThreadLocal必需要调用其clear方法清空TreadLocal中的数据释放内存;2、POI组件中的OPCPackage用完需调用close方法释放读写锁锁定的数据修复后压测效果:对相应功能压测10分钟后,抓取堆内存信息分析,无e
2020-12-01 11:19:02 525 4
原创 利用性能测试排查服务线上内存占用过高的问题
问题场景:生产1机,report服务进程内存占用率高,影响到下催记功能的可用性原因:实时导出excel文件的组件所用到的poi对象在jvm永久代内存中没有销毁,导致永久代内存无法回收解决方法:及时调用workbook的cose方法释放相关poi导出相关对象的引用关系排查工具:jmeter/jmap复现场景:首先,构造10万条数据。在电催任务详情压测环境模拟生产混合交易业务操作,同时登陆系统到电催任务详情页发起100笔电催任务详情报表导出。此时,通过jmeter观察服务器cup占用率与内存占用率的走势
2020-12-01 11:15:21 709
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人