导语
由于我们公司用户数量庞大,在服务上线之前,性能测试必不可少。本文主要介绍性能测试的流程,需要关注的指标,性能测试工具Apache bench的使用,以及常见的坑。
什么是性能测试
性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接受的性能点,来获得系统能提供的最大服务级别的测试。
性能测试的目标是什么
性能测试最终的目的,是找到系统的瓶颈,一般来说,是找到服务单机最大TPS(每秒完成的事务数)。
需要注意的是,服务的TPS需要结合请求平均耗时来综合考虑。例如:服务TPS压到1000,平均请求耗时500ms,但是假如我们定的服务请求耗时不能超过200ms,那么这个1000的TPS是无效的。
很多场景下,服务都会设置超时时间,若平均耗时超过此超时时间,则可认为服务处于不可用状态。
什么时候需要性能测试
1、功能测试完成之后,上线之前。
正常情况下,上线之前,都应该进行性能测试,尤其是请求量较大的接口,重点业务的核心接口,以及直接影响用户操作流程的接口。
2、各种大促,运营活动开始之前。
大促,运营活动,都会导致流量激增,