压力测试
在浅谈性能优化之前呢,先介绍一下压力测试。项目在上生产环境之前呢,需要先进行压力测试,模拟并发,看看系统的吞吐量大概是多少,告知运维人员的系统吞吐量瓶颈,与实际业务场景对比,再决定是否继续优化业务逻辑,升级硬件环境。
概念
压力测试考察当前软硬件系统的最大负荷以及瓶颈所在,是为了系统在线上的处理能力和稳定性维持在一个合理范围内,做到心中有数。
错误类型
内存泄漏
比如一个接口我们写好,在一个循环内大量创建对象,没有复用对象,当并发量一上来,我们的对象就会不断的进行创建,以至于导致我们的内存泄漏。
并发和同步
当我们单线程跑起来没有问题,当我们的并发量一上来,就会出现各种线程不安全的情况。
压力测试的性能指标
当我们单线程跑起来没有问题,当我们的并发量一上来,就会出现各种线程不安全的情况。
压力测试的性能指标
-
响应时间(response time: RT)
-
HPS(hits per Second):每秒的点击数;
-
TPS(transaction per second):系统每秒处理的交易数(一个完整接口下的业务链条)
-
QPS(query per second):系统每秒处理的查询次数
金融行业 :1000TPS-50000TPS:不包括互联网化的活动,5万
保险行业:100TPS-100000TPS:不包括互联网化的活动,10万
制造行业:10TPS-5000TPS,5K
互联网电子商务:10000TPS-1000000TPS,100w