常见性能问题:慢sql导致响应时间长分析定位

昨天在用jmeter做性能测试的时候,遇到一个响应时间长的性能问题,简单总结一下,分享给大家,希望能给大家在性能测试过程中提供性能问题定位的思路。

首先,这是一个tcp接口,压测过程中,应用服务器和数据库服务器(oracle)资源情况都正常(cpu、内存、io、网络),

猜测就是应用或者数据库慢,先去排除下数据库的问题,通过top命令,找到数据库服务器最消耗cpu的进程,

然后通过以下sql(连接oracle数据库的用户需要有v$process、v$session、v$sql这3张表的权限,如果没有,向DBA申请即可),在plsql中查询,果然查到一个消耗cpu的sql(因为这个sql消耗cpu,一直占用cpu,其它线程就只能等待,所以响应时间长)

上面sql的含义:通过pid,在v$process中找到paddr,通过paddr在v$session中找到sql_id,通过sql_id在v$sql中找到对应的sql。

 

提交开发优化后回归压测,性能提升了5倍。

转载于:https://www.cnblogs.com/uncleyong/p/10697311.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值