1.前言
最近工作中需要测试nginx反向代理的性能,于是找了一些http测试工具,比如经典的Apache ab、siege、wrk。 wrk采用多线程事件驱动方式,支持Lua脚本扩展。关于wrk的介绍请参考:https://m.genealogy-computer-tips.com/wg/wrk。在测试http的性能时,主要关注的是QPS(每秒处理的请求数)。 QPS越高,网站的性能越好。测试此参数需要可以生成多个连接的工具。涉及到一些网络编程的知识,如何使用connect同时建立多个连接,如何控制connect超时,如何判断fd是否可读或可写。 Linux 网络套接字默认是阻塞的。使用阻塞套接字很难实现大量请求。您需要使用非阻塞,快速创建连接,并轮询连接状态以报告网络事件。
我对这些地方不太了解。如果有机会分析一下wrk的源码,如何发送大量并发连接,了解常见的网络编程框架。
2。 wrk基本介绍
wrk 支持多线程。每个线程都是独立的。该线程使用经典的事件驱动模型来创建和处理连接。 Wrk支持参数配置。主要参数如下:
wrk 的用法如下:
3。 wrk使用技术介绍
wrk是一个典型的Linux客户端网络程序,可以创建和处理大量并发连接。它采用了多线程、网络编程、http协议解析、SSL协议、Lua脚本引擎等技术。wrk 使用 redis 事件驱动库。事件驱动模型(一般由三部分组成:事件收集器、事件发送器、事件处理器单元组成),可以参考:https: //m.genealogy-computer-tips.com/jcouyang/9914091
事件驱动模型旨在解决传统服务器的需求与网络工作负载之间的不匹配,实现服务器的高度可扩展性,并减少内存开销。事件驱动模型改变了您连接到服务器的方式。所有连接都由事件循环管理,每个连接都会触发一个在事件循环进程中运行的事件,而不是为每个连接生成一个新的操作系统线程并为其分配一些伴随的内存。因此,不需要担心死锁,阻塞资源不会被直接调用,而是会以异步的方式实现非阻塞I/O。通过事件驱动模型,相同配置的服务器可以接受更多的并发请求,实现服务器的可扩展性。
接下来,我们要深入研究一下这个地方。
相关推荐
-
如何选择和配置VP,让你的网络
-
新手必学!视频剪辑基础操作指南
-
云盘同步备份:让你的重要文件安
-
从入门到精通,让你成为网络冲浪
-
这些存储优化技巧让你轻松释放手
-
Excel公式与宏技巧:提升办
-
Photoshop编辑小技巧,
-
MacOS效率提升技巧,让你成
-
Windows10快捷操作,大
-
rs232信号电压(什么是rs
-
Flutter开发实践-运行G
-
stm32软件模拟看波形(st
-
SQL语句中select的高级
-
vue中模态对话框组件的实战实
-
卡巴斯基选哪个(免费的瑞星杀毒
-
WinRAR巧妙用法:查看隐藏
-
Linux【环境变量】
-
XSLT 的有用资源
-
面向未来的设计:未来友好
-
程序员玩什么游戏好玩,有多少恐
-
据悉,罗永浩旗下“细红线”公司
-
Firefox,这个曾经打破黑
-
快速比较Linux下两个目录的
-
openssl req(生成证