笔者工作中使用过几种开发HTTP服务的方案,周末赋闲在家,分别用C++ Boost.Beast,Go,OpenResty和Python Tornado实现了一个简单的 HTTP/1 服务(响应输出Hello World)对他们的QPS性能做一个PK。
笔者的测试机器:CentOS 6.5 4核 8G
C++:Boost 1.68,使用Boost.Beast http库;最大线程数设置为4。
Go:版本1.10,使用net/http;NumCPU=4 。
OpenResty:版本1.13.6.2;Nginx worker数设置为4 。
Python:版本3.6,使用Tornado,进程数设置为4。
使用ab发20W个请求,分别以并发数1,2,4,8,16,32,64进行测试。
测试结果如下。
Go |