select,poll,epoll是老生常谈的东西了,这次从应用上进行简单的性能对比测试。服务端以简单的代理服务器为基础进行对本地和百度网站的访问测试。
以下是服务端代码:
1 |
|
测试时使用的命令
1 | webbench -c 1 http://la.airobot.link:8080/mproxy | grep Speed |
分别模拟了1,10,100,1000个客户端访问服务器和通过服务器代理访问百度。
以下是使用webbench进行测试的结果表格,单位是pages/min。
客户端数 | fork | select | poll | epoll | proxy_fork | proxy_select | proxy_poll | proxy_epoll |
---|---|---|---|---|---|---|---|---|
1 | 7828 | 4932 | 12344 | 11120 | 5328 | 13140 | 4184 | 9546 |
10 | 39284 | 43848 | 67988 | 49718 | 47682 | 37224 | 68762 | 116912 |
100 | 46978 | 88650 | 63198 | 98566 | 94346 | 93330 | 93234 | 109246 |
1000 | 62710 | 60672 | 65728 | 101764 | 85542 | 92488 | 137546 | 90726 |
epoll在高并发低活跃数时比较占优势。