首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

HTTP接口性能压力测试

一、前言 开发接口以后,对性能有要求的 接口,需要做 性能压力测试 常见免费的如:经典的 ab,性能不太好的 jmeter、siege(有时候都怀疑程序性能不行了),另介绍 hey、k6、vegeta、...wrk 二、方案 1. ab - Apache HTTP server benchmarking tool C语言开发,适用于 Linux 平台 优劣:可能因为在 WSL里面运行,性能表现不太好,容易报错...性能高,跨平台,报表显示慢请求原因,最近发版是 2020年 参数:c 并发数、z 测试时长 hey -c 50 -z 5s http://www.a.com/aundefined图片 3. jmeter...> r.status == 200 }); } 优劣:性能较高,跨平台,支持 请求、统计结果 校验,非常适合开发人员(复制略作调整即可)做接口自动化测试 参数:u 并发数、d 测试时长 需用 JavaScript...10,设置和 max-workers 相等可避免测试过程中创建连接耗时 echo "GET http://www.a.com/a" | vegeta attack -rate 0 -workers 200

31641

web压力测试 - http_load

http_load是基于linux平台的一个性能测工具 非常小巧易用,可以用并行方式运行,来测试web服务器的性能 测试方式 (1)准备测试url vim url.txt 填写要测试的url,可以写多个...,一行一个,写完后保存退出 (2)执行测试命令 先看下常用参数 -p 并发访问进程数 -f 总的访问次数 -r 每秒的访问频率 -s 总的访问时间 开始测试 执行1000次访问,并发数为10 http_load...first-response: 234.182 mean 每次连接平均返回时间:234.182毫秒 850.217 max 最大时间:850.217毫秒 116.863 min 最小时间:116.863毫秒 第6、7行 HTTP...返回码:200 ,一共1000次 第3行中的 fetches/sec 值比较重要,可以看出每秒的处理能力 可以调整 -p -f 的值,执行多次,看下平均效果 (3)还可以测试在一定时间内以一定的频率来访问...,看网站是否可以承受住预期的压力 例如 http_load -r 5 -s 300 urls.txt 安装也非常简单 ?

1.1K50
您找到你想要的搜索结果了吗?
是的
没有找到

HTTP 压力测试工具 wrk

简介 wrk 是一个HTTP压力测试工具,根据官方的介绍,他有2个明显的特点: 集成了多线程设计与事件通知系统(如 epoll、kqueue)提升并发量 可以通过编写 Lua 脚本来进行扩展,例如 HTTP...可以工作在 Linux 或 Mac 项目地址: https://github.com/wg/wrk 下载后进入项目目录,执行: make 编译完成后,在当前目录中生成一个 wrk 可执行文件 运行 执行测试命令.../wrk -t12 -c100 -d10s http://www.baidu.com 意思是对 baidu.com 进行测试,启动 12 个线程,100 个并发,持续运行 10 秒。...所以,如果多次测试结果中的 Stdev 差距较大,说明有可能系统性能波动很大。 +/- Stdev 这个正负标准差的含义不是很理解,请明白的朋友留言指点。...post.lua,设置post请求,代码: -- example HTTP POST script which demonstrates setting the -- HTTP method, body

4.4K71

学习总结——JMeter做http接口压力测试

针对一个接口做压力测试就是单场景,针对一个流程做压力测试的时候就是混合场景,需要多个接口共同作用。...压测时间设定 通常时间设为10 – 15 分钟,如果涉及疲劳测试的话时间可根据实际情况设定,1周,一个月不等。...测试数据准备 如果需要测试的数据量很大的话,需要造数据,造数据可以JMeter操作数据库来完成,也可以用Python造数据。...结果查看 之后便可以按照你的设定来直行压力测试,最关键的要懂得测试结果的查看 每个请求调通之后线程组中就不需要保留“查看结果树”了,因为它的运行会影响压测的结果。...Error%这个值在并发量比较大的情况下不为零很正常,但是不同的系统有不同的允许范围,一般的系统正确率在95%就可以了,而苛刻一点的系统比如和钱相关的系统正确率要求在99.9999%以上,测试的时候要酌情而定

1.4K30

Jmeter 压力测试中关于 Http 的那些事儿

来源:www.jianshu.com/p/c0c09b5ef26a Http请求模拟 1、新建线程组 2、添加取样器HTTP请求 3、开始Http请求 响应参数获取 1、添加后置处理器JSON Extractor...2、添加取样器HTTP请求获取电影条目信息及参数使用 3、启动测试计划 ---- Http请求模拟 1、新建线程组 操作:鼠标右键测试计划 -> 添加 -> Threads(Users) -> 线程组...-> 修改测试计划名称 图片 新建线程组 2、添加取样器HTTP请求 操作:鼠标右键线程组 -> 添加 -> Sampler -> HTTP请求 -> 填写请求参数 添加取样器 请求参数 3、开始...2、添加取样器HTTP请求获取电影条目信息及参数使用 获取电影条目信息 3、启动测试计划 在“察看结果树”中可以看到,获取电影条目信息的HTTP请求中,请求参数正确。...需要注意的是,多个变量名的话,还需要填写Default Vaules ,不然启动测试计划后会找不到变量,导致请求失败。

34520

「Go开源」vegeta: http压力测试工具库

今天给大家推荐的是一个对HTTP接口做压力测试的工具:vegeta。...项目地址:https://github.com/tsenart/vegeta 一、特点 命令行和Go第三方库都可以使用 命令行使用UNIX风格设计 可扩展多种压测报告形式 对于分布式测试也非常简单易用...plot子命令: 该子命令的功能主要是将测试结果以图表的形式进行展示。 3.1 指定压测的接口地址 在指定压测地址时有两种方式:通过标准的stdin和指定具体的文件。...3.4 生成测试报告 vegeta的测试报告是通过report子命令来生成的。该命令的输入数据是encode子命令产生的输出。...一个压测工具最基本的功能就是输入url及参数、启动指定量的协程来进行压力测试,同时把响应结果保存下来,并以报表的形式进行统计输出。同时,该开源包也是大家学习使用golang进行命令行开发较好的参考。

33220

一款不错的HTTP压力测试工具

前言: 作者曾经接到一个需求,会在一个相对较短的时间内,会有大量的http请求。 代码写完之后,需要压力测试一下。在网上无意间看到过webbench这个工具,于是就使用了一下。...原生代码并不支持cookie和http回包的内容校验,作者就自己发挥了一下,完成了这个功能。 cookie一般用来测试有登录态等信息的情况下使用。...http回报用来校验http返回的信息,是否有逻辑错误等,http回包成功,不代表业务处理正常,毕竟要保证的是业务处理正常。.../webbench -c 100 -t 10 http://www.baidu.com/index.html 更加详细帮助,可以使用:..../webbench -h 后记: 由于准备相对充分,模拟测试的时候,也跑出来了不错的PV。活动运营还算成功,好几个网站上都上了新闻。上一张运营活动的图片吧。 ?

1.1K80

Redis 压力测试

在应用程序上线前,需要对Redis进行压力测试,以验证Redis的性能和稳定性。...Redis压力测试工具Redis提供了一个内置的压力测试工具redis-benchmark,可以模拟多个并发客户端同时向Redis服务器发送请求,测试Redis的吞吐量和响应时间。...Redis压力测试命令以下是redis-benchmark的基本用法:redis-benchmark [options] [testtype]其中,testtype是测试类型,可以是以下任意一个:ping...set:测试Redis服务器的SET命令响应时间。get:测试Redis服务器的GET命令响应时间。incr:测试Redis服务器的INCR命令响应时间。...lpush:测试Redis服务器的LPUSH命令响应时间。lpop:测试Redis服务器的LPOP命令响应时间。sadd:测试Redis服务器的SADD命令响应时间。

2.9K10

使用locust进行Websocket压力测试和接口压力测试

结果 TaskSet 如果你正在测试一个网站的性能,这个网站是以分层的方式构建的,包括部分和子部分,那么以同样的方式构建负载测试可能会很有用。为此,locust提供了任务集类。...HttpUser, task, between class QuickstartUser(HttpUser): wait_time = between(1, 3) host = "http...比如 locust -f locust_files/my_locust_file.py 网页上访问 http://localhost:8089/ 连接WS 压测WS前我们要先看看怎么连接WS 连接WS...websocket接口,需要先下载安装一个websocket samplers by peter doornbosch的插件 而locust因为是代码实现,所以可以进行任何的测试,引用相应的库即可。...locust -f main.py -u 5000 -r 300 网页上访问 http://localhost:8089/ 或者不用图形化界面 locust -f main.py --autostart

6K22

性能测试-Jmeter压力测试

压力测试也就是多少用户一起去操作,也就是设置多少并发,运行多久,一般是在线程组中设置,如下图所示 ?...1、压力测试场景设置 一般我们在做压力测试的时候,分单场景和混合场景,单场景也就是咱们压测单个接口的时候,多场景也就是有业务流程的情况下,比如说一个购物流程,那么这样的场景就是混合场景,就是有多个接口一起来做操作...1)、单场景,一个请求就可以了 2)、混合场景,多个请求 3)、压测时间,一般场景都是运行10-15分钟,如果是做疲劳测试的话,可以压一天或者一周,根据具体的情况来定 2、压力测试数据准备 在做压测的时候...,数据量少和数据量大的情况下,测试的结果是不一样的,所以,我们在设计场景的时候是要考虑到这种情况的,要测试数据库中数据量大和数据量小的情况,如果是要测试数据量大的情况下,就要造数据了,造数据可以使用jmeter...3、压力测试结果查看 查看结果关注的几个指标 1)、tps是每秒钟处理的请求数,也就是指服务器的处理能力,tps越高说明服务器处理能力越好 2)、响应时间,也就是每个请求的处理时间 3)、并发用户数

4.5K20
领券