-
什么是软件性能?
-
软件为什么会有性能?
-
什么叫性能测试?
-
什么样的系统需要做性能测试?
-
为何要做性能测试?
-
如何做性能测试?
-
如何定位性能根源,性能的瓶颈究竟在哪里?
-
如何提升性能?
性能测试的基本概念
什么是软件性能
两个方面:响应实践,及时处理能力
软件性能的关注是多个层面的:
用户关注的性能:系统的响应时间
用户 --N1--> 服务器(A1) --N2--> 数据库 (A2)
||
V
用户 <--N4-- (A3)服务器 <--N3-- 数据库 (A2)
响应时间(网络时间(N1+N2+N3+N4)+服务器处理时间(A1+A2+A3))
准备工作:千兆交换机
服务器:在日志里面打印代码的处理实践(8g, 16c(核CPU))
数据库: 打开慢查询,看我们的执行计划
最直接的表现: CPU一般会很高,用户态CPU很高
数据:20-40万才会体现
性能关注点
应用服务器,数据库服务器的资源利用率
支持多少用户 系统的容量
最大的并发用户
是不是可以通过更换硬件提高性能,优化代码,优化SQL语句 可扩展性
稳定性,能不能支持7*24小时处理业务稳定性99.99%
;;;
架构设计是否合理
数据库设计
代码逻辑
线程