近期解决的一些问题

近期解决的一些问题

问题一:Redis执行部分命令时总是在报time out

解决:查看redis的slowlog发现slow命令超过1024条且较频繁,每条命令执行超过30秒,发现是针对大数据做了排序处理,将排序处理进行优化。

要点查看redis的slow日志,如下:

https://blog.csdn.net/luyaran/article/details/73801268

问题二:Spring配置多数据源切换失效,无法正确执行切换逻辑,导致程序异常

程序中在dao层使用了org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource进行数据源切换,但是发现在执行某个service的dao时,总是不能正确切换。

最后发现是该service层加了@Transactional操作导致。也就是说在程序中加入了事务拦截处理后,数据源切换逻辑失效。具体解释:

https://blog.csdn.net/xueshandugu/article/details/44344443

问题三:接口服务大量链接被占用,导致正常服务受影响

程序使用httpclient的Pooling*HttpClient*ConnectionManager连接池管理,配置总共连接1000个,但是因为某个接口有问题,10分钟不返回结果,造成大量链接被占用,导致连接池耗尽,影响正常业务。

处理方案:根据链接地址不同分配不同连接池,而不是所有链接地址都使用同一连接池

问题四:服务器cpu占用率高,告警频繁

首先htop发现总是存在线程持续占用cpu近十秒才释放,确定线程号,使用jstack打印线程堆栈,根据线程号,确定线程对应代码为某搜索引擎代码。排查代码发现,存在每次查询循环20次的bug。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值