1. 本际云推荐 - 专业推荐VPS、服务器,IDC点评首页
  2. 云主机运维
  3. VPS运维

性能故障之dual调用风暴案例分享

性能故障案例分享:dual调用风暴

作为一名云服务器推荐网的小编小本本,曾经也经历过性能故障的辛酸。今天就给大家分享一个关于dual调用风暴的案例,希望大家能够引以为戒。

性能故障之dual调用风暴案例分享

案例内容

某省渠道应用的签到送流量业务出现了严重的业务超时情况,Tuxedo中间件的维护人员接收到大量积压告警短信。经过对积压的Tuxedo服务执行效率进行统计,发现该服务在高峰期时单笔调用的服务执行总耗时达到了13.4732s。而在对该服务单笔调用记录的数据进行分析和统计后,发现在一次调用过程中,该服务对数据库读、写的次数累计已经超过了14000次。通过实时truss过程中的分析,发现每次的read5,write5对象分别为读、写CRM库。

经过剖析主要发现该服务发起的session存在大量的librarycache:mutexX争用,且都在特定的sql上(sql_id:afqzw543rcu2d),该sql主要是利用dual表进行date转换。通过对该sql的调用量进行分析,发现该SQL的执行次数是不断增长的趋势,进而使得主机Runq队列剧增,CPU资源耗尽。

解决方案

为了解决该问题,需要控制该sql执行频率。通过同应用侧沟通,最终通过修改业务逻辑,在数据库中屏蔽该sql。优化后对服务调用量及平均响应时长进行了监控和数据搜集。对比发现,优化后服务执行效率提升显著,且稳定,无服务队列积压情况出现。

此案例中我们发现,在应用代码中使用selectxxxfromdual,虽然该SQL简单且单次执行性能优良,但如高频率的执行,则会有资源高消耗的隐患。因此建议避免在数据库内部进行与数据库无关的处理;且日期以及字符串等相关处理各种程序语言(C、Java)都提供了丰富的函数库可使用,本地化处理不仅可以避免与数据库的交互,更可以降低数据库的负载,提高服务性能。

总之,通过这个案例,我们可以看到性能故障的严重性以及对解决方案的重要性。希望大家在日常工作中能够多加注意,及时发现问题并且解决。

原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/5819.html