2014-09-29 35 views
1

我有一个简单的基于netty框架的HttpServer应用程序。我试图用阿帕奇工作台工具(操作系统Windows 7),以测试它,但我总是得到一个错误:HttpNetty ApacheBench测试:apr_poll:指定的超时已过期(70007)

The timeout specified has expired (70007)

我试着使用不同的查询,以便运行测试 - 它并不能帮助。同时,如果我从浏览器访问服务器,则会收到来自服务器的响应。有没有人遇到同样的问题?

+0

对于那些面对Spring 5 netty的人来说,有一个bug存在https://jira.spring.io/browse/SPR-14964 – hahn 2017-07-02 18:06:29

+0

还有另一种叫做Siege的工具。在我的情况下,它与netty的spring boot 2 spring framework 5一起工作。 – hahn 2017-07-02 18:23:33

回答

1

问题可能来自几件事情。但我的猜测是,ApacheBench对于您的基础架构或者至少是您的配置太“肌肉”了。这里有一些事情你可以尝试:

客户端

  • 试从您的ApacheBench使用的并发级别,并降低其

服务器端

  • 您可能对可用的tcp端口数量有限制。您可以通过更改第一个可用端口sudo sysctl -w net.inet.ip.portrange.first=32768来更改它。这会降低可用于tcp的第一个端口号,并因此增加可用端口的总数。
  • 你可以尝试降低时间等待号码sudo sysctl -w net.inet.tcp.msl=1000。请注意,这只是为了进行测试,因为这意味着在生产中客户端会很快超时。
相关问题