- 设备是Dell服务器,CPU是两颗Intel(R) Xeon(R) CPU E5-2670 @ 2.60GHz,16核32线程;
- gcc版本7.3.0;
测试方案和结果
我们只是为了测试drogon框架的性能,因而要尽量简化controller的处理,我们只做了一个HttpSimpleController,注册到路径上。controller对任何请求都返回。设置drogon线程数为16。handler函数的代码如下, 你可以在目录找到这些源码:
测试工具是一个性能不错的HTTP压力测试工具。
可以看到,在客户端使用Keep-Alive选项,在一个连接可以发送多个请求的情况下,drogon每秒可以处理50多万次请求,这个成绩是相当不错的。每次请求都发起一次连接的情况下,CPU会消耗在TCP建立和断开等环节,吞吐量会下降至每秒14万次请求,这也是正常的。drogon对比nginx的成绩处于明显优势,也许是由于nginx配置不当未能发挥它的最大吞吐量,如果哪位高手做了更好的测试,欢迎指正。