技术选型 - 第七周
性能压测的时候,随着并发压力的增加,系统响应时间和吞吐量如何变化,为什么?
[低负载运行] 并发↑ 响应时间↓ 吞吐量 ↑↑
[最佳运行] 并发↑↑ 响应时间↑ 吞吐量 ↑↑↑
[高负载运行] 并发↑↑↑ 响应时间↑↑ 吞吐量 ↑↑↑(小幅波动)
[高负载运行][无限流] 并发↑↑↑↑ 响应时间↑↑↑↑ 吞吐量 ↑
并发↑↑↑↑↑ 响应时间∞ 吞吐量 0 (奔溃)
并发低时,系统资源使用率低,受限于并发低,吞吐量也较低,竞争低,系统响应快。
并发达到最适值时,系统资源充分发挥作用,系统未超负载,吞吐量逼近最大值,数据存在少许竞争,响应时间有提升。
并发超出最适值,达到高负载状态时,调度不均衡,数据竞争频繁,响应时间会提升,吞吐量达到瓶颈,无法再提升,保持小范围波动。
如果无限流, 随着并发的提升, 负载过高,导致系统响应变慢,系统吞吐量大幅下降;当系统资源耗尽时,系统会奔溃。
用你熟悉的编程语言写一个 web 性能压测工具,输入参数:URL,请求总次数,并发数。输出参数:平均响应时间,95% 响应时间。用这个测试工具以 10 并发、100 次请求压测 www.baidu.com。
重点
并发
复用
异步
思路
线程数和cpu核数保持一致,绑定对应的cpu,提供cpu的工作频率
优化网卡参数
tcp建立连接(伪造ip,模拟任意数量的链接)
对应的连接均匀的分布在线程上,发送同一协议的请求(多线程共享数据)
仅发送请求,返回的数据丢弃
统计发出的请求和应答的数量(丢弃的数据大小/应答数据大小数量)
瓶颈
网卡io
缺陷
仅计算总体平均响应时间
连接数多时,初始化时间长
仅限内网压测
需要伪造arp
自己造轮子
网卡的处理能力查看pps指标(百万级别无压力)
版权声明: 本文为 InfoQ 作者【X﹏X】的原创文章。
原文链接:【http://xie.infoq.cn/article/1415b28a1d61b26a3e16d015d】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论