天天看点

如何使用P-One的全链路压测工具来定位问题节点和分析性能问题

作者:泽众软件

首先,简单介绍一下,性能测试平台P-One。

PerformanceOne(简称:P-One)是泽众软件自主研发的一套一站式性能测试平台软件产品。

该产品采用 B/S 架构开发,实现了集管理、设计、压测、监控以及分析于一体的全方位性能测试解决方案。可有效提升性能测试技术能力,提高效率,降低门槛,减少性能测试的投入,同时提升软件产品质量。适用于各种非功能测试场景,如压力测试、负载测试、稳定性测试、可靠性测试、容量测试等。

如何使用P-One的全链路压测工具来定位问题节点和分析性能问题

P-One性能测试平台

如何使用P-One的全链路压测工具来定位问题节点和分析性能问题

P-One平台主界面

官方网站:http://www.spasvo.com/Products/pone.asp

随着应用系统节点越来越多,越来越复杂,当出现任何一个节点的故障、异常,都会出现严重的性能问题。同时,当一个节点发生问题,给问题定位带来了很大的困难:我们往往只知道出现了性能问题,如tps达不到要求,大量交易失败,但是我们不知道问题在哪个节点上,也不知道出问题的节点,问题的原因是什么。

从本质上来看,我们需要解决两个问题:第一,定位问题节点;第二,找到问题原因。

关于第一个问题,定位问题节点,我们推荐采用的方法就是全链路的时间片分析法。那么,什么是时间片分析法?

如何使用P-One的全链路压测工具来定位问题节点和分析性能问题

全链路的时间片分析法

如上图,当出现某个交易异常,我们很难发现问题缩在。

使用POne的全链路分析,可以很容易的解决这个问题:

1、使用全链路,来找到出现异常的交易链路,如上图颜色标识;

2、全链路分析工具,可以展示,在这个链路上,各个节点消耗的时间片:

如何使用P-One的全链路压测工具来定位问题节点和分析性能问题

节点消耗统计

3、根据异常的时间片,可以定位问题节点。

从上面的表格数据,我们可以看到,

1)nginx服务,总共消耗了20毫秒(ms),在这个交易中,这个节点出发的链路,消耗了10s的时长,一般情况下就是异常交易;

2)微服务1,本身消耗了30ms,这个节点发起的链路,消耗了9970ms,也就是20ms被nginx消耗了,还有10ms被网络消耗(假设是网络消耗了10ms);

3)微服务2,本身消耗了30ms,看起来也是正常的,它和它的下面链路,总共消耗9930ms;

4)Database server,总共消耗的时长数是9890,将近10秒了!!!

5)我们可以基本上认为,问题节点就是数据库服务。

POne的全链路分析图:

如何使用P-One的全链路压测工具来定位问题节点和分析性能问题
如何使用P-One的全链路压测工具来定位问题节点和分析性能问题
如何使用P-One的全链路压测工具来定位问题节点和分析性能问题
如何使用P-One的全链路压测工具来定位问题节点和分析性能问题
如何使用P-One的全链路压测工具来定位问题节点和分析性能问题
如何使用P-One的全链路压测工具来定位问题节点和分析性能问题

4、查看可能问题节点的计数器,来定位问题:

如何使用P-One的全链路压测工具来定位问题节点和分析性能问题

nginx监控服务

如何使用P-One的全链路压测工具来定位问题节点和分析性能问题

Redis监控服务

如何使用P-One的全链路压测工具来定位问题节点和分析性能问题

JVM进程监控服务

如何使用P-One的全链路压测工具来定位问题节点和分析性能问题

MYSQL慢日志监控服务

推荐阅读:

为什么性能测试PR单机版要升级到泽众P-One一站式性能测试平台

泽众P-One一站式性能测试平台如何安装在国产化操作系统上运行

继续阅读