架构师训练营 1 期第 7 周:性能优化(一)- 作业
1. 性能压测的时候,随着并发压力的增加,系统响应时间和吞吐量如何变化,为什么?
1.1 基本概念
响应时间:指应用系统从发出请求开始到收到最后响应数据所需要的时间。响应时间是系统最重要的性能指标,直观的反映了系统的“快慢”
吞吐量:指单位时间内系统处理的请求的数量,体现件系统的处理能力。
对于网站,可以用“请求数/秒”或是“页面数/秒”来衡量,也可以用“访问人数/天”或是“处理的业务数/小时”等来衡量。
TPS(每秒事务数)也是吞吐量的一个指标,此外还有 HPS(每秒 HTTP 请求数),QPS(每秒查询数)等。
吞吐量 = ( 1000 / 响应时间 ms ) × 并发数
1.2 响应时间
响应时间随着用户并发数的增加会急剧上升,知道系统资源耗尽响应超时;
最佳运行点 b:刚开始直到 b 点,系统由于资源空闲,能够快速响应用户请求,应用进程在系统调度时所需要的资源不需要等待,CPU 执行效率高,能够快速响应用户请求;
系统最大负载点 c:随着并发用户数增加,经过 b 点后,应用进程占用的系统资源越来越多,用户线程间会彼此争夺等待资源。系统进行线程调度及上下文切换,会导致响应时间较为明显增长并逐渐达到系统的最大负载;
系统崩溃点 d:当用户并发数继续增长超过系统最大负载点时,系统的响应时间将急剧上升,达到系统崩溃状态。
1.3 吞吐量
吞吐量随用户并发数的增加可用 TPS(每秒事务数)和系统资源数的关系
吞吐量与响应时间的为反比关系(吞吐量 = ( 1000 / 响应时间 ms ) × 并发数),吞吐量的曲线与响应时间的存在对应关系,根据测试时系统所处的左边点,测试可分为
性能测试:系统响应时间在最佳运行点 b 前;
负载测试:系统运行在最佳运行点和慢负载点区间;
压力测试:系统运行超过满负载
版权声明: 本文为 InfoQ 作者【灵霄】的原创文章。
原文链接:【http://xie.infoq.cn/article/40c31331107174e26c01d4719】。未经作者许可,禁止转载。
评论