首页 财经 聚焦 财评 股市 证券 商业 设为首页
您现在所在的位置:首页 / 文旅产业 / 正文
http压力测试应重点关注并发用户数、TPS、RT、等要素
来源:体育小编
2021-08-10

在做web服务开发时,一般会做服务压力测试。本文介绍两款简单、易用的HTTP压测工具,便于研发压测服务,明确服务临界值,寻找服务瓶颈点。压测时可重点关注以下指标,并发用户数、TPS(每秒事务数量)、RT(事务响应时间)、事务失败率、吞吐量、CPU(不要超过70%)和内存占用量。


      一、ab压测工具
      ab就是Apache Benchmark的缩写,顾名思义它是Apache组织开发的一款web压力测试工具,优点是使用方便,统计功能强大。使用:命令格式: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请求进行测试。
      优点:小巧。理论支持655350并发数。实际上,超过10000就跑不下去,实验证明支持的最高并发数约为5000。使用简单方便,一行指令即可。可精确控制请求次数:一些特殊场景会有此类需求。
缺点:无法直接在命令行测试不同url,只能测试一个url。输出结果格式无法修改。
      二、Wrk工具
      wrk 是一个很简单的 http 性能测试工具,也可以叫做 http benchmark 工具。只有一个命令行,就能做很多基本的 http 性能测试。wrk 是开源项目,代码在 github 上:wrk 只能运行在类Unix 的系统上。使用:命令格式:wrk <选项> <被测HTTP服务的URL> 。                           
      参数说明:-c, --connections  <N>  跟服务器建立并保持的TCP连接数量; -d, --duration      <T>  压测时间;       
-t,--threads     <N>使用多少个线程进行压测;                                    
-s,--script    <S>   指定Lua脚本路径;      
-H, --header  <H>   为每一个HTTP请求添加HTTP头;     
--latency       在压测结束后,打印延迟统计信息;  
--timeout   <T>   超时时间;    
u-v,--version打印正在使用的wrk的详细版本信息;                                         
<N>代表数字参数,支持国际单位 (1k, 1M, 1G);
<T>代表时间参数,支持时间单位 (2s, 2m, 2h)。
      优点:并发度高。简单易用。使用Lua脚本可对wrk的初始化、请求和结果做二次开发。
      缺点:并发访问请求数量计数有些不准,上50万的请求数量,一般会少几百到两千条左右。无法精确控制请求个数。无法像jmeter一样做持续平稳的压力访问,不太适合做稳定性测试。适合模拟访问峰值压力测试。

CopyRight@2015-2024 中国民银财经网 All Right Reserved

工信备案号:湘ICP备2023001279号