架构师训练营 第 7 周作业
性能压测的时候,随着并发压力的增加,系统响应时间和吞吐量如何变化,为什么?
首先,需要知道 吞吐量、响应时间、并发数 三种的关系:
吞吐量=(1000 / 响应时间ms)* 并发数
随着并发数(并发用户数)的增加,响应时间会经历三个阶段:
最佳运行区间:这个阶段的系统资源充足,这时候并发压力的增加对响应时间基本不影响,系统响应时间最快,系统性能最好;
随着并发压力的增加,到达系统最大负载点c,系统资源达到临界点,CPU的能力趋于饱和,从该点开始,响应时间随着并发压力的增大而明显增长,系统性能迅速下降;
当并发压力到达系统崩溃点d时,系统资源耗尽,机器很有可能已宕机,性能将失去响应,响应时间无限大
用你熟悉的编程语言写一个web性能压测工具,输入参数:URL,请求总数,并发数。输出参数:平均响应时间,95%响应时间。用这个工具以10、100并发测试www.baidu.com。
运行:
并发10
TSNODEFILES=true node -r ts-node/register benchmark/index.ts -n 1000 -u 'https://www.baidu.com' -c 10
并发100
TSNODEFILES=true node -r ts-node/register benchmark/index.ts -n 1000 -u 'https://www.baidu.com' -c 100
压测结果:
并发10
mean: 52.95ms
p95: 82.94999999999999ms
并发100
mean: 367.64ms
p95: 509.95ms
评论