技术选型 - 第七周

用户头像
X﹏X
关注
发布于: 2020 年 07 月 22 日
  1. 性能压测的时候,随着并发压力的增加,系统响应时间和吞吐量如何变化,为什么?



[低负载运行] 并发↑ 响应时间↓ 吞吐量 ↑↑

[最佳运行] 并发↑↑ 响应时间↑ 吞吐量 ↑↑↑

[高负载运行] 并发↑↑↑ 响应时间↑↑ 吞吐量 ↑↑↑(小幅波动)

[高负载运行][无限流] 并发↑↑↑↑ 响应时间↑↑↑↑ 吞吐量 ↑

并发↑↑↑↑↑ 响应时间∞ 吞吐量 0 (奔溃)



  • 并发低时,系统资源使用率低,受限于并发低,吞吐量也较低,竞争低,系统响应快。

  • 并发达到最适值时,系统资源充分发挥作用,系统未超负载,吞吐量逼近最大值,数据存在少许竞争,响应时间有提升。

  • 并发超出最适值,达到高负载状态时,调度不均衡,数据竞争频繁,响应时间会提升,吞吐量达到瓶颈,无法再提升,保持小范围波动。

  • 如果无限流, 随着并发的提升, 负载过高,导致系统响应变慢,系统吞吐量大幅下降;当系统资源耗尽时,系统会奔溃。



  1. 用你熟悉的编程语言写一个 web 性能压测工具,输入参数:URL,请求总次数,并发数。输出参数:平均响应时间,95% 响应时间。用这个测试工具以 10 并发、100 次请求压测 www.baidu.com。



重点

  • 并发

  • 复用

  • 异步



思路

  • 线程数和cpu核数保持一致,绑定对应的cpu,提供cpu的工作频率

  • 优化网卡参数

  • tcp建立连接(伪造ip,模拟任意数量的链接)

  • 对应的连接均匀的分布在线程上,发送同一协议的请求(多线程共享数据)

  • 仅发送请求,返回的数据丢弃

  • 统计发出的请求和应答的数量(丢弃的数据大小/应答数据大小数量)



瓶颈

  • 网卡io



缺陷

  • 仅计算总体平均响应时间

  • 连接数多时,初始化时间长

  • 仅限内网压测

  • 需要伪造arp

  • 自己造轮子



网卡的处理能力查看pps指标(百万级别无压力)



发布于: 2020 年 07 月 22 日 阅读数: 7
用户头像

X﹏X

关注

还未添加个人签名 2018.04.25 加入

还未添加个人简介

评论

发布
暂无评论
技术选型 - 第七周