性能测试 课后作业
作业一(至少完成一项):
性能压测的时候,随着并发压力的增加,系统响应时间和吞吐量如何变化,为什么?
答:系统响应时间:先保持一个值不变,到达一定的并发压力后平滑升高,斜率逐渐增大。
吞吐量: 可以分三个阶段,第一个阶段(施压初期)吞吐量持续增大,第二个阶段(施压中期)吞吐量趋于平稳,第三个阶段(施压后期)吞吐量大幅下滑。
原因:施压初期,系统处理请求所用资源的占比较小,可以轻松处理,系统响应时间稳定,吞吐量随并发压力逐渐升高;施压中期,系统处理请求所用资源逐渐达到系统上限,系统为了处理持续增长的并发请求创建的线程数量逐渐增大,最终达到设置的上限,这个过程中,请求会在系统中排队等待处理,系统响应时间升高,吞吐量也逐渐达到系统上限; 施压后期,线程数增多,导致系统上线文切换占用的cpu比例增高,处理请求所需的各种资源,如:磁盘io、网络io、外部依赖(DB、RPC调用)达到上限,新请求在系统中的排队时间逐渐变长,系统响应时间陡增,吞吐量逐渐降低。
用你熟悉的编程语言写一个 Web 性能压测工具,输入参数:URL,请求总次数,并发数。输出参数:平均响应时间,95% 响应时间。用这个测试工具以 10 并发、100 次请求压测 www.baidu.com。
作业二:根据当周学习情况,完成一篇学习总结
评论