压测工具 - ab
压测工具 - ab
实验环境
- Centos7.5
基本概念
- QPS:每秒钟请求或查询数量,在互联网领域指每秒响应的请求数(指HTTP请求)
- 吞吐量:单位时间内处理的请求数量(通常由QPS和并发数决定)
- 响应时间:从请求发出到收到响应花费时间
- PV:综合浏览量(Page View),即页面浏览量或者点击量,一个访客在24小时内访问的页面数量。同一个人浏览你的网站同一个页面,只记作一次PV
- UV:独立访客(UniQue Visitor),即一定时间范围内相同访客多次访问网站,只能计算为1个独立访客
- 带宽:计算带宽大小需关注两个指标,峰值流量和页面的平均大小
- 日网站带宽=PV/统计时间(秒)平均页面大小(KB)8
- 峰值一般是平均值的倍数
- QPS不等于并发并发连接数。QPS是每秒HTTP请求数量,并发连接数是系统同时处理的请求数量
- 二八定律(80%的访问量集中在20%的时间):(总PV数80%)/(6小时秒速20%)=峰值每秒请求数(QPS)
- 压力测试:能承受最大的并发数和最大承受的QPS值
注意事项:
- 测试机器与被测机器分开
- 不要对线上服务做压力测试
- 观察测试工具所在机器,以及被测试的前端机的CPU、内存、网络等都不超过最高限度的75%
QPS指标
- QPS达到50,可以称之为小型网站,一般服务器都可以应付
- QPS达到100;瓶颈:MySQL查询达到瓶颈;优化方案:数据库缓存层,数据库负载均衡
- QPS达到800;瓶颈:带宽速度达到瓶颈;优化方案:CDN加速,负载均衡
- QPS达到1000;瓶颈:缓存服务器的带宽达到瓶颈;优化方案:静态HTML缓存
- QPS达到2000;瓶颈:文件系统访问锁成为灾难;优化方案:做业务分离,分布式存储
安装
1 | # yum install httpd-tools |
检验是否成功
1 | # ab -V |
基本使用
检测接口最大qps
模拟并发请求10次,总请求100次
1 | # ab -n 100 -c 10 http://xxx |
工具能力发掘
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Lihq - Blog!
评论