我们一般模拟用什么呢,LoadRunner也好,JMeter也好通过模拟并发的工具去模拟并发。来看响应时间、并发数、TPS、成功率...这些都可以看得到。
在模拟并发的过程中,假如我们模拟的交易是web集群部署,web3台、AP3台、数据库服务器2台,一般是这样。
我们要去模拟整个场景下,3台服务器宕机1台的情况下,能不能正常交互,tps会不会降低,并发用户数是不是可以保持不变的情况下交易成功率是多少。
满足条件的情况下,同样的方式,我们会去停掉一个进程或者拔掉一根网线,拔掉其中一台服务器,或者通过重启操作系统的情况下有没有问题,以此类推,我们的Oracle模式各种异常存储,如某张表坏掉了、磁盘空间满了的情况下,怎么去做?会出现什么异常情况?
讲了这么多,web服务器、AP服务器、数据库服务器都有共性,从测试人员角度看,或许我们没有权限去杀掉这些进程,但是通过LoadRunner也好,JMeter也好我们可以从表现现象知道我们后台服务的情况。
AP停服务
AP停服务都有哪些现象呢?例如我们的AP服务器。假如在高并发的情况下,三台服务器中有一台服务器宕机的情况下,不可能很平稳,这个时候肯定会出现TPS到达一个低点,然后马上上去。
因为往往三台服务器相当于个用户并发负载均衡的情况下刚好一台服务器有个并发,在某一台服务器中将进程kill掉的过程中,这个用户会瞬间失败。失败后可能需要一两秒,马上跳转到其他那两台。
其他那两台可能会有左右的并发,相当于把这个用户给承接下来了。这个时候会出现响应时间TPS比较低的情况下。
如果在另外一台服务器起来或停顿的过程中,也是这种,多次去并发,把它给停下的情况下,去模拟,第一次10分钟之后在第二次,看看停起-停起的过程中是不是每次都很均衡。如果是这样,说明负载均衡的有效性。
AP停系统服务资源监控
有一点类似于下图这种情况,在停起的情况下,我们证明它停起有效,停下来的过程中,cup的使用率肯定是降下来了,因为服务停止、CPU停止工作。
也肯定会出现下图这种失败的地方。
除了监控TPS,也要监控资源的使用是否合理、成功率等指标是否合理。