负载测试、压力测试
负载测试:不断增加服务器的并发用户数,测试在预期并发下系统的性能响应情况
压力测试:不断增加服务器的并发用户数,测试在极限情况下,系统性能的响应情况
负载测试
关注不同负载水平下系统的性能指标,主要用于评估系统性能指标。
比如,可以评估系统在50个并发用户时的性能指标,在100个并发用户时的性能指标,在200个并发用户时的性能指标。50个用户、100个用户、200个用户就是指不同的负载水平。通过这种方法可以确定系统的最大用户数和最佳用户数。最大用户数是指系统的负载极限,比如,CPU利用率达到100%,或者网络带宽被占满,或者响应时间很慢,任何一个指标达到极限都意味着系统已经到达极限了,这可以用于确定系统的瓶颈。最佳用户数则是指在当前负载水平下系统的各方面都表现良好,而又不存在资源浪费。比如,如果CPU利用率只有20%,则说明CPU中很大的处理能力被浪费了,它最好在80%左右,其他指标也可以用80%作为一个判断标准
压力测试
关注在超高负载(超过系统最大用户数)的情况下,系统是否还能稳定运行,如果不能稳定运行,那么系统还能坚持多久。在系统慢慢崩溃的过程中,它表现出来了怎样的特征。
压力测试不需要考虑性能指标(毫无疑问性能指标肯定是无法满足的),其重点是关注系统是如何失效的,以便于系统正式上线后采取风险控制措施。系统正式上线后若出现了性能问题,我们可以快速定位到问题的根源,并对其进行修复。另外,最好不要让系统出现性能问题,在压力测试完成后就开始着手对系统进行优化或者使用改进算法(比如使用排除机制),避免系统在运行时超过其最大用户数。