工作中,项目设计之初或者是项目快要结束的时候,大佬就会问我们,这个服务性能测试的结果是什么,QPS 可以达到多少,RPS 又能达到多少?
你自己写的接口性能可以满足未来生产环境的实际情况吗?有没有自己测试过自己接口的吞吐量等等
作为设计开发人员,这些问题不仅仅是用来面试,还是实实在在的落地在实际工作中
很多项目上线初期用户量较小,表面上看是风平浪静,实则暗流涌动,慢慢的用户量上来之后,系统的瓶颈慢慢凸显
曾经挖的坑,最后还是要我们自己来填,若不能及时填上,可能整个产品就这么断送了
今天一起来看看 wrk 轻量级的 性能测试工具如何使用
性能测试相关名词
- QPS每秒查询率 (Query Per Second)
每秒查询率 QPS 是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准
- 并发用户数
指系统可以同时承载的正常使用系统功能的用户的数量
- 吞吐量 (Throughput)
吞吐量是指系统在单位时间内处理请求的数量
- 响应时间 (RT)
指系统对请求作出响应的时间
wrk 是什么
wrk 是 github 的一个项目
https://github.com/wg/wrk
根据官方的说明,wrk 是一个HTTP基准测试工具
当运行在单个多核CPU上时,它能够产生巨大的负载。它结合了多线程设计和可伸缩的事件通知系统,如 epoll 和 kqueue 等等
wrk 中的一个可选的 LuaJIT 脚本可以执行 HTTP 请求生成、响应处理和自定义报告
wrk 如何使用
那么 wrk 如何使用呢,我们就来实操一下看看效果 , 既然是 开源工具,下载安装编译的方式都很类似
1、下载 wrk 项目
git clone https://github.com/wg/wrk.git wrk
2、编译项目
cd wrk
make