1、前言
最近工作需要测试nginx反向代理的性能,于是找了一些http测试工具,例如经典的Apache的ab、siege、wrk。wrk使用多线程事件驱动方式,支持lua脚本扩展。关于wrk介绍可以参考:https://github.com/wg/wrk。测试http的性能,主要关注的是QPS(每秒处理的请求数目),QPS越高说明web站点的性能越好。测试这个参数,就需要工具能够发生多个连接。涉及到网络编程的一些知识,如何同时使用connect建立多个连接,如何控制connect超时,如何判断fd可读还是可写。linux网络套接字默认都是阻塞的,使用阻塞的套接字很难实现大量的请求,需要使用非阻塞,快速创建连接,轮询连接的状态来出来网络事件。 最近工作需要测试nginx反向代理的性能,于是找了一些http测试工具,例如