dynatrace统计sql执行时间要考虑网络延时

对一个系统的功能环境做压测,响应时间特别慢,开发环境却很快。

原因是,开发的应用服务器在北方,功能的应用服务器在南方,数据库服务器共用一个,在北方。

北方的应用调北方的数据库,响应时间2s,互相ping ip 响应时间小于1ms。

南方的应用调北方的数据库,响应时间27s,互相ping ip 响应时间44ms。

dynatrace部署在南方功能的应用上,他记录了sql共执行了17s,其中一条总耗时600ms,执行10次,即每次60ms左右,这是南方访问北方一条sql的耗时。

北方服务器直接执行sql,耗时是12ms,60ms-12ms=48ms,这就是一条sql执行一次要加上南北网络延时44ms,10次就多了440ms,100多条sql,每条都要加网络延时。

所以,在测试前,要问清楚服务器位置,考虑到网络延时对压测的影响,这是APM性能监控工具看不到的。

另外,dynatrace可以通过API细分,看到各种请求类型,其中查看jdbc,可以看到数据库连接的具体数据库名称。

原文地址:https://www.cnblogs.com/zhaot1993/p/15476242.html