文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

HTTP服务压力测试工具及相关术语是什么

2023-06-30 03:46

关注

本篇内容介绍了“HTTP服务压力测试工具及相关术语是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

压测相关术语

压力测试工具

ab

ab全称Apache Bench,是Apache自带的性能测试工具。使用这个工具,只须指定同时连接数、请求数以及URL,即可测试网站或网站程序的性能。

通过ab发送请求模拟多个访问者同时对某一URL地址进行访问,可以得到每秒传送字节数、每秒处理请求数、每请求处理时间等统计数据。

命令格式:

ab [options] [http://]hostname[:port]/path

常用参数如下:

-n requests 总请求数-c concurrency 一次产生的请求数,可以理解为并发数-t timelimit 测试所进行的最大秒数, 可以当做请求的超时时间-p postfile 包含了需要POST的数据的文件-T content-type POST数据所使用的Content-type头信息

更多参数请查看官方文档。

例如测试某个GET请求接口:

ab -n 10000 -c 100 -t 10 "http://127.0.0.1:8080/api/v1/posts?size=10"

测试POST请求接口:

ab -n 10000 -c 100 -t 10 -p post.json -T "application/json" "http://127.0.0.1:8080/api/v1/post"

wrk

wrk是一款开源的HTTP性能测试工具,它和上面提到的ab同属于HTTP性能测试工具,它比ab功能更加强大,可以通过编写lua脚本来支持更加复杂的测试场景。

Mac下安装:

brew install wrk

常用命令参数:

-c --conections:保持的连接数-d --duration:压测持续时间(s)-t --threads:使用的线程总数-s --script:加载lua脚本-H --header:在请求头部添加一些参数--latency 打印详细的延迟统计信息--timeout 请求的最大超时时间(s)

使用示例:

wrk -t8 -c100 -d30s --latency http://127.0.0.1:8080/api/v1/posts?size=10

输出结果:

Running 30s test @ http://127.0.0.1:8080/api/v1/posts?size=10  8 threads and 100 connections  Thread Stats   Avg      Stdev     Max   +/- Stdev    Latency    14.55ms    2.02ms  31.59ms   76.70%    Req/Sec   828.16     85.69     0.97k    60.46%  Latency Distribution     50%   14.44ms     75%   15.76ms     90%   16.63ms     99%   21.07ms  198091 requests in 30.05s, 29.66MB readRequests/sec:   6592.29Transfer/sec:      0.99MB

go-wrk

go-wrk是Go语言版本的wrk,Windows同学可以使用它来测试,使用如下命令来安装go-wrk

go get github.com/adeven/go-wrk

使用方法同wrk类似,基本格式如下:

go-wrk [flags] url

常用的参数:

-H="User-Agent: go-wrk 0.1 bechmark\nContent-Type: text/html;": 由'\n'分隔的请求头-c=100: 使用的最大连接数-k=true: 是否禁用keep-alives-i=false: if TLS security checks are disabled-m="GET": HTTP请求方法-n=1000: 请求总数-t=1: 使用的线程数-b="" HTTP请求体-s="" 如果指定,它将计算响应中包含搜索到的字符串s的频率

执行测试:

go-wrk -t=8 -c=100 -n=10000 "http://127.0.0.1:8080/api/v1/posts?size=10"

输出结果:

==========================BENCHMARK==========================URL:                            http://127.0.0.1:8080/api/v1/posts?size=10Used Connections:               100Used Threads:                   8Total number of calls:          10000===========================TIMINGS===========================Total time passed:              2.74sAvg time per request:           27.11msRequests per second:            3644.53Median time per request:        26.88ms99th percentile time:           39.16msSlowest time for request:       45.00ms=============================DATA=============================Total response body sizes:              340000Avg response body per request:          34.00 ByteTransfer rate per second:               123914.11 Byte/s (0.12 MByte/s)==========================RESPONSES==========================20X Responses:          10000   (100.00%)30X Responses:          0       (0.00%)40X Responses:          0       (0.00%)50X Responses:          0       (0.00%)Errors:                 0       (0.00%)

“HTTP服务压力测试工具及相关术语是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯