【压测】wg/wrk 轻量级压测
wg/wrk 轻量级压测
说明:环境是 centos,不过现在 centos 免费版本不再更新和维护了,所以大家可以用阿里云的或者用 ubuntu 内核
用的 https://github.com/wg/wrk.git 有 35k star
然后据我了解,windows 用 wrk 压测有点麻烦,我也试过,把方法,放在最后了
一、安装 wrk
yum install -y gcc make openssl-devel #安装编译工具、openssl开发包以及其他必要的依赖项
git clone https://github.com/wg/wrk.git
cd wrk
make # 编译
cp wrk /usr/local/bin/ # 将wrk可执行文件移动到系统路径中,这样它就可以在任何位置运行,确保`/usr/local/bin/`在系统的`$PATH`环境变量中。
如果没有 git ,就安装一下
yum install git
二、开始压测
wrk -t12 -c400 -d30s http://127.0.0.1:8888/manage/getManageStatisticsAll?x-token=
-t12:使用12个线程进行测试。-c400:使用400个并发连接进行测试。-d30s:运行测试持续30秒。- 参数意思参考:https://github.com/wg/wrk
12 threads and 400 connectionsThread Stats Avg Stdev Max +/- StdevLatency 37.76ms 18.14ms 232.05ms 72.32%Req/Sec 0.89k 159.11 1.56k 69.98%317812 requests in 30.07s, 146.70MB readNon-2xx or 3xx responses: 317812
Requests/sec: 10567.92
Transfer/sec: 4.88MB使用wrk工具进行了HTTP基准测试,使用了12个线程和400个连接。以下是测试结果的一些关键指标:平均延迟(Latency):37.76毫秒
延迟标准差(Stdev):18.14毫秒
最大延迟(Max):232.05毫秒
平均请求数(Req/Sec):0.89k(即每秒处理的请求数量为890)
请求数量的标准差(Stdev):159.11
最大请求数(Max):1.56k(即最多每秒处理1560个请求)
总请求数:317,812
总传输数据量:146.70MB
非2xx或3xx响应的请求数:317,812(即所有请求都返回了非成功的状态)
根据测试结果,平均每秒处理的请求数为10,567.92,传输速率为4.88MB/s。
windows 版本用 wrk
在Windows上使用wrk工具进行基准测试需要进行一些额外的步骤。以下是在Windows上使用wrk的一般步骤:安装依赖项:Visual C++ Redistributable for Visual Studio 2015:您可以从Microsoft的官方网站下载并安装此依赖项。
OpenSSL:您可以从https://slproweb.com/products/Win32OpenSSL.html下载并安装适用于您的Windows版本的OpenSSL。
下载wrk源代码:访问wrk的GitHub仓库:https://github.com/wg/wrk
点击"Code"按钮,然后选择"Download ZIP"来下载wrk的源代码。
解压缩wrk源代码:将下载的ZIP文件解压缩到您选择的目录中。
构建wrk:打开命令提示符或PowerShell,并导航到wrk源代码目录。运行以下命令来构建wrk:Copy
cd wrk-master
cmake -B build -DCMAKE_BUILD_TYPE=Release .
cmake --build build --config Release
构建完成后,您将在wrk-master\build\Release目录中找到生成的wrk可执行文件。运行wrk:在命令提示符或PowerShell中,导航到生成的wrk可执行文件所在的目录。使用类似于以下命令的语法运行wrk:Copy
wrk.exe -t12 -c400 -d30s http://example.com
将http://example.com替换为您要测试的目标URL。
相关文章:
【压测】wg/wrk 轻量级压测
wg/wrk 轻量级压测 说明:环境是 centos,不过现在 centos 免费版本不再更新和维护了,所以大家可以用阿里云的或者用 ubuntu 内核 用的 https://github.com/wg/wrk.git 有 35k star 然后据我了解,windows 用 wrk 压测有点麻烦&…...
Redis可以用作消息队列吗?如何实现简单的消息队列功能?
是的,Redis可以被用作简单的消息队列。下面是一种实现简单消息队列功能的方式: 生产者(Producer)端: 使用LPUSH命令将消息推送到一个列表中,作为消息队列的实现。例如,使用LPUSH命令将消息推送到…...
[Java基础]对象转型
系列文章目录 【Java基础】Java总览_小王师傅66的博客-CSDN博客 [Java基础]基本概念(上)(标识符,关键字,基本数据类型)_小王师傅66的博客-CSDN博客 [Java基础]基本概念(下)运算符,表达式和语句,分支,循环,方法,变量的作用域,递归调用_小王师傅66的博客-CSDN博客 Java字节码…...
JVM——类文件结构
文章目录 一 概述二 Class 文件结构总结2.1 魔数2.2 Class 文件版本2.3 常量池2.4 访问标志2.5 当前类索引,父类索引与接口索引集合2.6 字段表集合2.7 方法表集合2.8 属性表集合 一 概述 在 Java 中,JVM 可以理解的代码就叫做字节码(即扩展名为 .class …...
银河麒麟服务器v10 sp1 .Net6.0 上传文件错误
上一篇:银河麒麟服务器v10 sp1 部署.Net6.0 http https_csdn_aspnet的博客-CSDN博客 .NET 6之前,在Linux服务器上安装 libgdiplus 即可解决,libgdiplus是System.Drawing.Common原生端跨平台实现的主要提供者,是开源mono项目。地址…...
C#实现普通的语音播报
Windows有文字转语音功能,C#提供了调用的类库Interop.SpeechLib.dll 使用方法很简单,在你的项目中添加Interop.SpeechLib.dll引用,在类中引用: using SpeechLib;这里提供一个CVoice类 帮助实现语音播报 public class CVoice{pri…...
django中实现事务的几种方式
1.实现事务的三种方式 1.1 全局开启事务---> 全局开启事务,绑定的是http请求响应整个过程 DATABASES {default: {#全局开启事务,绑定的是http请求响应整个过程ATOMIC_REQUESTS: True, }} from django.db import transaction# 局部禁用事务 transac…...
【es6】具名组匹配
1、组匹配 正则表达式使用圆括号进行组匹配,如:const RE_DATE /(\d{4})-(\d{2})-(\d{2})/;,三个圆括号形成了三个组匹配。 代码: const RE_DATE /(\d{4})-(\d{2})-(\d{2})/;const matchObj RE_DATE.exec(1999-12-31); const year matchO…...
自然语言处理技术:NLP句法解析树与可视化方法
自然语言处理(Natural Language Processing,NLP)句法解析树是一种表示自然语言句子结构的图形化方式。它帮助将句子中的每个词汇和短语按照语法规则连接起来,形成一个树状结构,以便更好地理解句子的语法结构和含义。句法解析树对于理解句子的句法关系、依存关系以及语义角…...
flinksql报错 Cannot determine simple type name “org“
flink版本 1.15 报错内容 2023-08-17 15:46:02 java.lang.RuntimeException: Could not instantiate generated class WatermarkGenerator$0at org.apache.flink.table.runtime.generated.GeneratedClass.newInstance(GeneratedClass.java:74)at org.apache.flink.table.runt…...
e.target.value和 binding.value 区别
e.target.value 和 binding.value 都是在 Vue.js 中用于处理事件绑定时的值,但它们的使用场景和含义有所不同,分别用于普通的 DOM 事件和自定义指令。 e.target.value: 这是常用于原生 DOM 事件处理函数中的一个属性,用于获取事件…...
软链接与exec进程替换运行路径问题
目录 1. 代码(1)启动进程execvp(2)替换的新进程new_proc 2. 验证(1)new_proc与execvp源文件同一目录(2)new_proc与execvp软链接同一目录 3. 总结4. errno.h 用execvp软链接启动进程&…...
【Go】锁相关
文章目录 Mutex锁mutex源码分析LockUnLock mutex两种运行模式mutex normal 正常模式自旋 mutex starvation 饥饿模式 锁的底层实现类型 RWMutexRWMutex 实现其他共享内存线程安全的方式 思考如何设计一个并发更高的锁? Mutex锁 mutex源码分析 Locker接口ÿ…...
git环境超详细配置说明
一,简介 在git工具安装完成之后,需要设置一下常用的配置,如邮箱,缩写,以及git commit模板等等。本文就来详细介绍些各个配置如何操作,供参考。 二,配置步骤 2.1 查看当前git的配置 git conf…...
使用阿里云服务器搭建PostgreSQL主从架构图文流程
阿里云百科分享使用阿里云服务器搭建PostgreSQL主从架构图文流程,PostgreSQL被业界誉为最先进的开源数据库,支持NoSQL数据类型(JSON/XML/hstore)。本文档介绍在CentOS 7操作系统的ECS实例上搭建PostgreSQL主从架构的操作步骤。 目…...
Linux的基本权限(文件,目录)
文章目录 前言一、Linux权限的概念二、Linux权限管理 1.文件访问者分类2.文件类型和访问类型3.文件访问权限的相关设置方法三、目录的权限四、权限的总结 前言 Linux下一切皆文件,指令的本质就是可执行文件,直接安装到了系统的某种路径下 一、Linux权限的…...
网络编程(12): TCP重传、滑动窗口、流量控制、拥塞控制
1、TCP重传机制 通过序列号和确认号确保可靠传输,当发送端发送数据给接收到,接收端会返回一个确认号,表示收到消息了 超时重传:没有在指定时间内收到ACK报文 超时重传的两种可能:数据包丢失、确认包丢失超时重传时间RT…...
Docker安装RabbitMQ服务端
使用docker安装RabbitMQ服务端 1、搜索镜像 docker search rabbitmq2、拉取镜像 默认拉取最后一个版本,可以在后面加版本号拉取指定版本 docker pull rabbitmq 3、运行镜像 docker run -d --hostname my-rabbit --name rabbit -p 15672:15672 rabbitmq4、查看…...
vueuse常用方法
useDateFormat 时间格式化 <script setup lang"ts">import { useNow, useDateFormat } from vueuse/coreconst formatted useDateFormat(useNow(), YYYY-MM-DD HH:mm:ss)</script><template><div>{{ formatted }}</div> </templa…...
选择大型语言模型自定义技术
推荐:使用 NSDT场景编辑器 助你快速搭建可二次编辑器的3D应用场景 企业需要自定义模型来根据其特定用例和领域知识定制语言处理功能。自定义LLM使企业能够在特定的行业或组织环境中更高效,更准确地生成和理解文本。 自定义模型使企业能够创建符合其品牌…...
告别手动队列!ROS2多传感器同步新方案:message_filters与rclcpp的完美配合
告别手动队列!ROS2多传感器同步新方案:message_filters与rclcpp的完美配合 在机器人开发领域,多传感器数据同步一直是个令人头疼的问题。想象一下,当你的无人机同时搭载了双目相机、激光雷达和IMU时,如何确保这些传感…...
GeoScene Maps避坑指南:从图层闪烁到内存泄漏的7个常见问题解决方案
GeoScene Maps深度调试指南:7个生产环境典型问题解决方案 当你在凌晨三点被警报惊醒,发现线上地图服务出现大面积图层闪烁时,那种头皮发麻的感觉我太熟悉了。作为经历过数十个GeoScene Maps项目的老兵,我想分享那些官方文档不会告…...
从轮胎变形到车辆漂移:深入浅出聊聊自动驾驶横向控制里的‘侧偏刚度’
轮胎侧偏刚度:自动驾驶横向控制中的隐形弹簧 想象一下在高速公路上以120km/h的速度变道时,方向盘只需轻轻转动几度——这种看似反直觉的操控背后,是轮胎侧偏刚度在默默发挥着作用。就像跳水运动员入水时水面产生的弹性变形一样,轮…...
Prometheus动态服务发现实战:从文件到K8S的三种配置方法对比
Prometheus动态服务发现实战:文件、Consul与Kubernetes的深度对比 在云原生监控体系中,服务发现机制如同神经系统般实时感知基础设施变化。当面对混合架构时,如何在文件、Consul和Kubernetes三种主流方案中做出技术选型?本文将带…...
Spring_couplet_generation 学术研究价值:作为NLP文本生成任务的基准
Spring_couplet_generation:一个衡量NLP模型中文创作能力的基准任务 春联,作为中国传统文化的独特载体,其创作要求严格遵循平仄、对仗和意境的规则。这看似简单的红纸黑字,背后却蕴含着对语言韵律、语义对偶和美学意境的综合考验…...
iOS日志与事件深度解析工具:iLEAPP技术架构与实战指南
iOS日志与事件深度解析工具:iLEAPP技术架构与实战指南 【免费下载链接】iLEAPP iOS Logs, Events, And Plist Parser 项目地址: https://gitcode.com/gh_mirrors/il/iLEAPP 在移动设备取证和数据分析领域,iOS系统的复杂性一直是技术人员的挑战。面…...
终极指南:3步在3DS上原生运行GBA游戏,告别模拟器延迟!
终极指南:3步在3DS上原生运行GBA游戏,告别模拟器延迟! 【免费下载链接】open_agb_firm open_agb_firm is a bare metal app for running GBA homebrew/games using the 3DS builtin GBA hardware. 项目地址: https://gitcode.com/gh_mirror…...
LVGL模拟器不止能看Demo:在Ubuntu里用VSCode调试和修改官方例程的实战技巧
LVGL模拟器深度开发指南:在Ubuntu与VSCode中实现高效UI调试 当你在嵌入式设备上开发LVGL界面时,是否经历过反复烧录、调试的漫长等待?模拟器开发可以彻底改变这种低效的工作流程。本文将带你超越简单的Demo演示,探索如何将LVGL模…...
Llama Factory应用场景:快速打造行业专属的智能客服模型
Llama Factory应用场景:快速打造行业专属的智能客服模型 1. 引言:当智能客服遇见“模型工厂” 想象一下这个场景:一家电商公司,每天要处理成千上万的客户咨询。从“这个衣服有货吗”到“我的订单为什么还没发货”,客…...
别再只会用Burpsuite了!手把手教你用Python脚本+Crunch字典搞定DVWA暴力破解
从零构建Python自动化爆破工具:DVWA全等级攻防实战解析 在渗透测试领域,暴力破解(Brute Force)始终是验证系统弱口令防御的基础手段。虽然Burpsuite这类图形化工具降低了入门门槛,但真正理解底层通信原理并构建自定义攻击脚本,才是…...
