首页 > 解决方案 > 使用 apache2-utils 调用时 boost.asio 服务器响应挂起

问题描述

我正在尝试运行可以在这里找到的基准:gitbub asio benchmark

当我按原样运行此代码时,我可以在 Firefox 中使用 RESTED 客户端获得响应,实际上我可以将手指放在发送按钮上,服务器只会继续发送 hello-world-s。

但是,当我这样做时:

ab -n 1 -v 4 -c 1 http://localhost:8080/

apache工具挂起,特别是:

Benchmarking localhost (be patient)...INFO: GET header == 
--- GET / HTTP/1.0 Host: localhost:8080 
User-Agent: ApacheBench/2.3 
Accept: */*


--- LOG: header received: 
HTTP/1.1 200 OK 
Connection: keep-alive 
Content-Length: 12 
Server: Pure asio bench server 
Content-Type: text/plain; charset=utf-8

Hello world!

LOG: Response code = 200

似乎收到了响应,但 apache2-utils 因某种原因挂起,我怀疑响应有问题,但我就是想不通。

有任何想法吗?

PS 应该注意的是,我只向服务器请求了 1 个请求并不重要,如果你等待的时间足够长,apache2-utils 会报告超时,这显然是不正确的,因为 Firefox 得到响应就好了。

标签: c++httpapache2boost-asiobenchmarking

解决方案


推荐阅读