设为首页 加入收藏

TOP

6.5.3 muduo 与Nginx 的吞吐量对比(2)
2013-10-07 16:03:59 来源: 作者: 【 】 浏览:84
Tags:6.5.3 muduo Nginx 吞吐量 对比

6.5.3 muduo 与Nginx 的吞吐量对比(2)

客户端运行以下命令来获取/hello 的内容,服务端返回字符串"hello, world!"。

  1. ./ab -n 100000 -k -r -c 1000 10.0.0.9:8080/hello 

先测试单线程的性能(见图6-8),横轴是并发连接数,纵轴为每秒完成的HTTP请求响应数目,下同。在测试期间,ab 的CPU 使用率低于70%,客户端游刃有余。
 
(点击查看大图)图6-8
再对比muduo 4 线程和Nginx 4 工作进程的性能(见图6-9)。当连接数大于20时,top(1) 显示ab 的CPU 使用率达到85%,已经饱和,因此换用weighttp (双线程)来完成其余测试。
 
(点击查看大图)图6-9

CPU 使用率对比(百分比是top(1) 显示的数值):

10 000 并发连接,4 workers/threads,muduo 是4  83%,Nginx 是4  75%

1000 并发连接,4 workers/threads,muduo 是4  85%,Nginx 是4  78%

初看起来Nginx 的CPU 使用率略低,但是实际上二者都已经把CPU 资源耗尽了。与CPU benchmark 不同,涉及IO 的benchmark 在满负载下的CPU 使用率不会达到100%,因为内核要占用一部分时间处理IO。这里的数值差异说明muduo 和Nginx 在满负荷的情况下,用户态和内核态的比重略有区别。

测试结果显示muduo 多数情况下略快,Nginx 和muduo 在合适的条件下qps(每秒请求数)都能超过10 万。值得说明的是,muduo 没有实现完整的HTTP 服务器,而只是实现了满足最基本要求的HTTP 协议,因此这个测试结果并不是说明muduo 比Nginx 更适合用做httpd,而是说明muduo 在性能方面没有犯低级错误。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇6.5.3 muduo 与Nginx 的吞吐量对.. 下一篇6.5.4 muduo 与ZeroMQ 的延迟对比

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·用 C 语言或者限制使 (2025-12-25 08:50:05)
·C++构造shared_ptr为 (2025-12-25 08:50:01)
·既然引用计数在做 GC (2025-12-25 08:49:59)
·Java 编程和 c 语言 (2025-12-25 08:19:48)
·. net内存管理宝典这 (2025-12-25 08:19:46)