测试web性能,我们要首先明确一点,压测的目的是为了观察当前系统的负载能力及各项性能指标。一般情况下,压测的结果可以通过吞吐量与并发数的比例来观察,在并发数一定的情况下,吞吐量越高,说明系统性能越好。
接下来简要讲下做一个压力测试需求的几个步骤。
第一步:
压力测试分两种场景:
一种是单场景只压一个接口的;第二种是混合场景,多个有关联的接口。
压测时间,一般场景都运行10-15分钟。如果是疲劳测试,可以压一天或一周,根据实际情况来定。
第二步:压测前要明确压测功能和压测指标,一般需要确定的几个问题:
1、固定接口参数进行压测还是进行接口参数随机化压测?
2、要求支持多少并发数?单接口多少,关联接口多少
3、TPS(每秒钟处理事务数)目标多少?响应时间要达到多少?
4、被压的服务器名称或者被压的服务器IP,一般都是压测指定的服务器
第三步:进行压测,并进行压测分析与调整;
1、有错误率同开发确认,确定是否允许错误的发生或者错误率允许在多大的范围内;
2、Throughput吞吐量每秒请求的数大于并发数,则可以慢慢的往上面增加;若在压测的机器性能很好的情况下,出现吞吐量小于并发数(线程数),说明并发数不能再增加了,可以慢慢的往下减,找到最佳的并发数;
3、压测结束,登陆相应的web服务器查看CPU等性能指标,进行数据的分析;
4、最大的tps:不断的增加并发数,加到tps达到一定值开始出现下降,那么那个值就是最大的tps。
5、最大的并发数:最大的并发数和最大的tps是不同的概率,一般不断增加并发数,达到一个值后,服务器出现请求超时,则可认为该值为最大的并发数。
6、压测过程出现性能瓶颈,若压力机任务管理器查看到的cpu、网络和cpu都正常,未达到90%以上,则可以说明服务器有问题,压力机没有问题。
7、影响性能考虑点包括:数据库(重点)、应用程序、中间件(tomact、Nginx)、网络和操作系统等方面。
第四步:出压测报告
1、本次压测的要求指标,性能要求
2、本次压测的机器性能
3、本次压测的各项指标
4、本次压测的报告结果分析
5、压测报告建议
6、压测报告等级
推荐阅读: