架构训练营第七周 - 作业
了解问题比解决问题更重要
作业
性能压测的时候,随着开发压力的增加,系统响应时间和吞吐量如何变化,为什么?
用你熟悉的编程语言写一个web性能压测工具,输入参数:URL、请求总数、并发数。输出参数:平均响应时间、95%响应时间。用这个测试工具以10并发、100次请求压测www.baidu.com
作业1-性能指标变化
系统响应时间:表示一个请求从开始到结束的时间。反应了系统的快慢。
吞吐量:表示系统在单位时间内,处理的请求数。体现了系统的处理能力
并发数:系统能够同时处理的请求数。反应了系统的负载能力。
响应时间、吞吐量、并发数是衡量系统性能的核心指标。
三者之间的关系:
吞吐量=(1000/响应时间ms)* 并发数
并发数不变的情况下,响应时间越低,吞吐量越高,反之越低。
在性能测试阶段,随着测试压力的增加,响应时间变化不大,吞吐量能有较好的表现。此阶段为系统最佳运行阶段。
随着测试压力继续增加,受网络、硬件等物理因素制约,响应时间逐渐变慢,吞吐量虽有上升的趋势,但是增速减缓。此为负载测试阶段。
测试压力达到某个节点,反应时间极具变大,系统越来越慢,吞吐量有下降的趋势,直至系统奔溃。此为压力测试阶段
作业2-代码
初版
https://github.com/wuxinshui/architecture-trains/tree/master/week7/src/main/java/com/wxs/ajmeter
类结构
结果
压测:https://api.github.com/users
版权声明: 本文为 InfoQ 作者【无心水】的原创文章。
原文链接:【http://xie.infoq.cn/article/1d1250c06b16eac1abb7293fa】。文章转载请联系作者。
评论