本文介绍一款简单、易用的HTTP压测工具,便于研发同学压测服务,明确服务临界值,寻找服务瓶颈点。压测时可重点关注以下指标,并发用户数、TPS(每秒事务数量)、RT(事务响应时间)、事务失败率、吞吐量、CPU(不要超过70%)和内存占用量。
ab压测工具:ab就是Apache Benchmark的缩写,顾名思义它是Apache组织开发的一款web压力测试工具,优点是使用方便,统计功能强大。
1、安装:ubuntu提供自动安装命令,ubuntu:sudo apt-get install apache2-utils。
2 、使用:命令格式:ab -n 100 -c 10 'http://10.34.216.49:8000/test'
参数说明:
ab一般常用参数就是 -n, -t ,和 -c。
u-c(concurrency)表示用多少并发来进行测试;连接数。
u-t表示测试持续多长时间。
u-n表示要发送多少次测试请求。
u一般-t或者-n选一个用。
u默认情况,ab使用的是HTTP的GET请求进行测试。
3、 改变HTTP访问方法:默认ab工具是使用GET方法去测试目标服务器地址。如果模拟POST请求进行测试,则稍微复杂些,需要把将要post的数据(一般是json格式)放在文件里。
4、 一些问题:使用-t参数后,默认-n 请求数为50000,要使用-n后,就不使用-t参数;-c并发请求数达到2000后,操作系统报错;socket: Too many open files (24) 调整可以打开的文件数,调到20w;ulimit -n 204800。
5 、ab工具优缺点
优点:
1.小巧。
2.理论支持655350并发数。实际上,超过10000就跑不下去,实验证明支持的最高并发数约为5000。
3.使用简单方便,一行指令即可。
4.可精确控制请求次数:一些特殊场景会有此类需求。
缺点:
1.无法直接在命令行测试不同url,只能测试一个url。
2.输出结果格式无法修改。