时间telnet Apache 2.4.33 centOS7

时间:2018-06-28 14:14:34

标签: apache centos7 telnet

当我尝试在time telnet XX.XX.XX.XX 80apache 2.4.6 server我的centOS7时,结果是51 sec

我设法用reqtimeout_module将其降低

RequestReadTimeout header=1
RequestReadTimeout body=1

,但永远不会少于32秒。找到的关于此的信息是2.4.6上的一个已知错误(如果我理解正确的话),并且30秒是硬编码的,无法更改。

所以我将其更新为2.4.33,但没有任何变化。有什么办法可以减少这段时间?

1 个答案:

答案 0 :(得分:0)

您可以在AcceptFilter http none内设置/etc/httpd/conf/httpd.conf

默认情况下,在Linux AcceptFilter上使用TCP_DEFER_ACCEPT套接字选项(来自manpages):

TCP_DEFER_ACCEPT (since Linux 2.4)
  Allow a listener to be awakened only when data arrives on the
  socket.  Takes an integer value (seconds), this can bound the
  maximum number of attempts TCP will make to complete the
  connection.  This option should not be used in code intended
  to be portable.

centos7上该选项的默认值似乎是30see this answer)。

另一种方法是使用apache-module-sockopts

LoadModule sockopts_module libexec/mod_sockopts.so
AddModule mod_sockopts.c

<IfModule mod_sockopts.c>
    # TCP_DEFER_ACCEPT
    SoTcpDeferAccept 20
</IfModule>