第七周命题作业
1.性能压测时,随着并发压力的增加,系统响应时间和吞吐量如何变化,为什么?
解析:性能压测,随着并发压力的增加,系统大概经历三个阶段,系统响应时间和吞吐量,再每个阶段有不同变化。
阶段1:性能测试阶段:以系统设计初期规划的性能指标为预期指标,对系统不断施加压力,验证系统在资源可接受的范围内,是否达到性能预期。
主表表现:随着并发数增加,响应时间稍微增加,吞吐量线性上升,如图1(a-b阶段)。
主要原因:在该阶段,系统资源充足(CPU,内存,磁盘,网络等资源),
增加的并发请求,被系统处理时,能够分配到足够的资源。
没有发生系统资源争抢,请求不会因为资源不足而排队。吞吐量呈现线性上升趋势。
阶段2:负载测试阶段:对系统不断增加并发请求以增加系统压力,直到系统某一项或者多项性能指标达到安全临界值。
主要表现:随着并发数继续增加,系统吞吐量越过b点,呈现抛物线状达到顶点C最大吞吐量。
响应时间显著增长,但是错误率较低,再可接受范围内,如图1(b-c阶段)。
主要原因: 在该阶段,系统性能指标一项或者多项指标达到安全临界值,也就是说:系统资源一项或者多项已经消耗完(比如:CPU使用率刚好达到100%,或者内存使用率刚好达到100%,或者网络带宽数据传输量刚好处于峰值状态等等),此时并发数是系统可处理的最高并发数,吞吐量是系统最高吞吐量。
阶段3:压力测试阶段:超过安全负载的情况下,继续增加并发数,对系统施加压力,直到系统崩溃不能处理任何请求,以此来获得系统最大压力承受能力。
主要表现:超过安全负载C点后,系统响应时间缓慢,甚至超时,错误率也明显增长。吞吐量呈现下降趋势,直到系统不能处理请求而崩溃。如图1(c-d)阶段。
主要原因:超过安全负载点C后,继续增加并发数,新增加的并发请求,分配不到足够的系统资源(比如:CPU已经100%满负荷运行,无法将更多的线程调度到CPU上运行;内存已经使用100%,无法创建更多的线程服务增加的并发请求;网络传输长时间处于峰值状态),新增加的请求因为资源不足而等待,不能得到快速处理,长时间等待资源,甚至超时无响应,并发数到达某一点后,系统无法处理请求而崩溃。
评论