redis-benchmark工具学习笔记

nginx wrk benchmark

什么是nginx

Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器以及电子邮件代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强。

img

什么是wrk

wrk 是一款针对 Http 协议的基准测试工具,它能够在单机多核 CPU 的条件下,使用系统自带的高性能 I/O 机制,如 epoll,kqueue 等,通过多线程和事件模式,对目标机器产生大量的负载。

nginx性能测试

概述

基本上,所有后端的服务的接入,入口都是 Nginx 或经过 Nginx ,所以它的性能就会尤其重要。

测试 Nginx ,主要测试 HTTP 接口的处理能力。

HTTP 接口的测试工具有如下几个:

  • Wrk
  • Apache Benchmark (ab)
  • Locust
  • Jmeter

因为测试nginx只关注 QPS(每秒响应请求数) 的,所以选择了 Wrk 作为测试工具

wrk的安装

git clone https://github.com/wg/wrk.git
cd wrk
make

使用指南

wrk的参数列表

image-20221114005727804

  • -c :需要模拟的连接数。
  • -t :并发的线程数。
  • 这里表示的是,使用 -t 个线程,模拟 -c 个并发请求。wrk 使用异步非阻塞的 io 的方式,并不是用线程去模拟并发连接,因此不需要设置很多的线程,一般根据 CPU 的核心数量设置即可。
  • -d :测试的测试时长。
  • -s :指定 Lua 脚本的路径。
  • --header :指定请求带的 Header 参数。
  • --latency :是否打印请求延迟统计。
  • --timeout :设置请求超时时间。
  • -v :显示 wrk 版本信息。

案例

./wrk -t50 -c400 -d30s http://127.0.0.1
  • -t50 参数,设置 50 并发线程。
  • -c400 参数,设置 400 连接。
  • -d30s 参数,设置执行 30s 的时长的 HTTP 请求。
  • http://127.0.0.1 参数,请求本地的 Nginx 服务。

执行结果

image-20221114010209142

QPS = requests/cost_time

​ = 1084727/30.10

通过QPS可以评估nginx的性能

参考链接

Nginx 是什么、为什么、怎么用? - 知乎 (zhihu.com)

性能测试工具 wrk 使用教程 - 犬小哈 - 博客园 (cnblogs.com)

性能测试 —— Nginx 基准测试 | 芋道源码 —— 纯源码解析博客 (iocoder.cn)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值