性能优化
性能测试主要看哪几方面? 1. 响应时间 : 完成一个业务所需要的时间 2. 吞吐量: 单位时间处理的业务数量 3. 资源利用率 : 完成业务需要的开销 ( CPU, 内存,IO) 性能的难点 用户总希望发最小的代价取得最大的收益,实际上一旦确定了架构,性能也就确定了 - 如果遵守规范体系能够达到默认架构的性能 - 大多数的开发会违背架构,拖后腿 性能测试模型 1. 做单用户的业务串行测试 : 评估单独业务的相应时间 2. 多用户的并发测试:了解相应时间的转折点: - 队列 - 资源不足 - 处理能力的峰值 模型结论:(所有系统都遵守) 1. 响应时间随着负载的上升先稳定后上升,并且越来越快 A点:响应时间开始变长的点 为什么响应时间开始变长? 当到达A点说明负载导致了队列的产生 B点: TPS开始下降 B点处理能力已经不能完全占用资源,开始下降了 C点: 响应时间超过用户接受范围 C点响应时间超时 系统在A点,说明负载小 系统在B点,说明达到系统最佳在线用户 系统在C点,说明系统不能用 正常系统应该一直在A->B之间,最好不超过B 性能瓶颈: 99%都是数据库 调优:ABC三点右移,说明调优成功 系统如果慢了,应该怎么处理? 有监控系统就看监控系统,没有监控系统就用命令,查看CPU, 内存,IO,network的信息 命令: top 1. 查看cpu的使用情况