Muduo v.s. nginx
Muduo 是 @bnu_chenshuo 在业余时间编写的基于 Reactor 模式的 C++ 网络库,适用于 Linux 平台,支持多线程。 @bnu_chenshuo 就 Muduo 和 nginx 的性能对比评测发布了一条微博:
对比了 Nginx 1.0.12 和 Muduo 0.3.1 内置的简陋 http 服务器的长连接性能,muduo 多数情况下略快。nginx 配置 http://t.cn/zO5EXZS 。这不是说 muduo 适合当 httpd 用,而是说明 muduo 应该没有低级错误和明显的性能缺陷。测试用 ab 和 weighttp 充当客户端。
TreapDB 问到:
有没有内存占用数据对比?
bnu_chenshuo 回复:
10k 并发连接,4workers/threads,muduo 占 30m RES,nginx 占 4*9.5m RES。
TreapDB 又问:
如果 response 比较大呢? 比如 10kb 左右,是否仍能胜出?
bnu_chenshuo 回复:
你有合适的 nginx.conf 吗?测静态文件对 nginx 太不公平。
Simon 李晓明的评论是:
应该说 nginx 的 http 处理逻辑和扩展架构使其在和其他更单纯的 httpd 比拼中并不占优势。就如 apache 带着历史包袱,怎么也跑不快。
淘李子表示:
还是蛮怀疑的,两老性能差别这么明显⋯⋯不知道在高并发情况下的 cpu 占用情况如何?
bnu_chenshuo 回复:
10k 并发连接,,4workers/threads,CPU 使用率 muduo 是 4*83%,Nginx 是 4*75%。1k 并发连接,muduo 是 4*85%,Nginx 是 4*78%。没有写反,客户端是 weighttp 双线程。
淘李子有些惊讶:
nginx 的 cpu 占用居然要低
bnu_chenshuo 回复:
是的,我估计是内核态、用户态的比例不一样,因此 nginx 显得低一些,其实两个程序都把 4 个核占满了。
最后, bnu_chenshuo 还给出了 muduo 相关资料地址:
muduo 的 github 代码库 http://t.cn/zOtcrnC ,系列博客文章 http://t.cn/zOtcrnN ,整理中的 muduo 使用手册 http://t.cn/zOtcrn9
结对 v.s. 不结对
larrycaiyu 发布一条微博,希望了解如何“结对编程“:
以前一直对”结对编程“不太感冒,主要是团队的单兵水平都不错,帮助不是特别明显,而且和老板阐述时间不加倍也累。但是最近新人增多,编程总体水平下降,看来要考虑怎么实施”结对编程“了?我的敏捷好友,有空提提建议。
ch3n2k 觉得:
两个新人结对?还是一个老人带一个新人?貌似都不太靠谱。
honnix 指出:
后者是挺标准的一个状态⋯⋯一定要使用机械键盘,身心愉悦。
ch3n2k 回复:
比如让一个新人和你在一起干活会怎么样?这样的工作效率肯定比你一个人还低很多,主要又是你在干,他光看不干,也学不到什么东西
honnix 的回应是:
你理解错了。这种情况应该让新人干,我来做 driver,至于效率,老板必须清楚一时的损失并不是什么大问题。
ch3n2k :
如果不是临时的措施,而是长期的你必须带一个人。。。如果临时的,那一直都有在做的,我想 larry 不用强调
honnix :
貌似做得不怎么样现在。结对有一整套方法策略,现在比较胡来。
ch3n2k :
看了 wikipedia 的 pair programming 页,单从效率上面说两个新手 pair 比单个新手可以明显改善效率,完成很难的任务 pair 比较有效,其他情况效率改善不明显
honnix :
现在的目的倒不是效率,却是像这个图里面说的场景。
ch3n2k :
larry 的问题是新手太多了,所以让两个新手 pair 也能达到快速提高他们水平的目的,这样反而不容易出现图上的问题
honnix :
不好说。这得基于两个都是好苗子的情况。
王海鹏 Seal 对这个问题的看法是:
结对,结对,沟通造就团队。
今日微博推荐
推荐理由:EMC 中国研究院的官方微博, 主要关注于云计算和大数据,经常提供详实的技术资料和业界观察。
评论