wrk 现代HTTP压测工具,动态构建请求

这篇博客介绍了在遇到动态构建HTTP请求时,如何使用wrk工具结合lua脚本进行压测。wrk支持内嵌lua,允许动态构建请求,如时间校验和MD5签名。文章还提到了分布式压测工具locust,并分享了在压测过程中遇到的问题,如socket错误、文件描述符限制、SIGXFSZ信号以及日志输出导致的阻塞问题,以及相应的解决策略。
摘要由CSDN通过智能技术生成

HTTP压测工具通用的比如apache ab, httpload, 但碰到有些请求是动态构建的,比如需要时间校验,需要做md5加密,这些工具就比较尴尬了。还好有wrk(https://github.com/wg/wrk)你可以使用,可以内嵌lua脚本,通过luajit加速,当然如果需要做分布式压测,可以试试locust(https://github.com/locustio/locust),使用了Python的Gevent,rpc使用了zeromq,代码还是很简洁的,感兴趣可以看看,不过发现问题不少,而且开发者不积极。

最近给上报接口做简单压测,涉及到请求动态构建和md5签名,试用了下wrk,效果还是蛮不错的,wrk提供的lua hook可以参考http://type.so/linux/lua-script-in-wrk.html

package.path = '/root/wrk/?.lua;'

local md5 = require "md5"
local body   = [[BI_login|userid{145030}|openid{4-22761563}|source{}|affiliate{}|creative{}|family{}|genus{0}|ip{180.111.151.116}|from_uid{0}|login_date{2016-11-04}|login_time{10:40:13}|extra{}|srcid{1}|snid{1002}|clientid{1253}|gameid{2100012}
BI_logout|userid{184103}|openid{4-22784181}|family{}|genus{0}|ip{218.2.96.82}|logout_date{2016-11-04}|logout_time{10:40:42}|extra{}|srcid{1}|snid{1002}|clientid{1253}|gameid{2100012
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值