假设应用在做压力测试发现应用响应缓慢,这时怀疑informix数据库存在性能瓶颈(响应缓慢),应当怎么排查呢?

假设应用在做压力测试发现应用响应缓慢,这时怀疑informix数据库存在性能瓶颈(响应缓慢),应当怎么排查呢?例如哪些表发生了死锁(怎么查?)、统计信息过期(哪些过期?)、某些sql执行效率有问题(怎么查对应的sql)??等等等。能否提供存在可能的原因,并提供查原因的步骤呢?感谢!!!...显示全部

假设应用在做压力测试发现应用响应缓慢,这时怀疑informix数据库存在性能瓶颈(响应缓慢),应当怎么排查呢?
例如哪些表发生了死锁(怎么查?)、统计信息过期(哪些过期?)、某些sql执行效率有问题(怎么查对应的sql)??等等等。
能否提供存在可能的原因,并提供查原因的步骤呢?
感谢!!!

收起
参与7

返回guoxilin的回答

guoxilinguoxilin高级非功能测试专家某科技公司

压力测试问题排查总体问题分析思路:
由外到内,由表及里一步步排除,先全局(cpu、内存、磁盘IO、网络),再定向(目标服务进程、数据库、中间件等),如瓶颈在数据库(比如连接池耗尽、存在慢查询、数据分布不均衡等),则先从执行计划了解数据处理流程;在用profile分析步骤耗时分布,耗时是在数据访问阶段还是数据运算阶段;
在优化任何一个SQL 语句之前,都应该在自己头脑中已经先有一个预定的执行计划,然后通过不断的调整尝试,再借助Explain 来验证调整的结果是否满足自己预定的执行计划。对于不符合预期的执行计划需要不断分析Query 的写法和数据库对象的信息,继续调整尝试,直至得到预期的结果。

互联网服务 · 2018-10-15
浏览2680

回答者

guoxilin
高级非功能测试专家某科技公司
擅长领域: 服务器数据库云计算

guoxilin 最近回答过的问题

回答状态

  • 发布时间:2018-10-15
  • 关注会员:2 人
  • 回答浏览:2680
  • X社区推广