Apache 2.4 首次响应前长时间延迟

Apache 2.4 首次响应前长时间延迟

我在本地网络中使用 Apache 2.4 测试了服务器 (Centos 7)。一切正常,但每次大约 1 小时不活动后,Apache 响应延迟约 4.8 秒。接下来的请求处理非常快 (1-5 毫秒)。

连接后出现延迟(连接 - 1ms,请求发送 - 1ms,等待 TTFB - 4.8s)。无论请求的源类型是什么(html 页面、html +php 或只是图像),都会出现此问题。其他网络应用程序可以正常运行,不会出现延迟。

IPv6 已禁用。在 httpd.conf 中配置的 IP 和端口:


ServerRoot "/etc/httpd"
Listen 192.168.0.100:80

KeepAlive On
MaxKeepAliveRequests 0
KeepAliveTimeout 300
Include conf.modules.d/*.conf

User apache
Group apache

ServerAdmin root@localhost
ServerName 192.168.0.100:80

<Directory />
    Options Indexes FollowSymLinks
    AllowOverride all
    Require all granted
</Directory>

DocumentRoot "/Site"

<Directory "/Site/www">
    AllowOverride None
    # Allow open access:
    Require all granted
</Directory>

<Directory "/Site/www">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>

<Files ".ht*">
    Require all denied
</Files>

ErrorLog "logs/error_log"
LogLevel warn

<IfModule log_config_module>
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common

    <IfModule logio_module>
      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
    </IfModule>
    CustomLog "logs/access_log" combined
</IfModule>

<IfModule alias_module>
    ScriptAlias /cgi-bin/ "/Site/cgi-bin/"
</IfModule>

<Directory "/Site/cgi-bin">
    AllowOverride None
    Options None
    Require all granted
</Directory>

<IfModule mime_module>
    TypesConfig /etc/mime.types

    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz

    AddType text/html .shtml
    AddOutputFilter INCLUDES .shtml
</IfModule>

AddDefaultCharset UTF-8

<IfModule mime_magic_module>
    MIMEMagicFile conf/magic
</IfModule>


EnableSendfile on
IncludeOptional conf.d/*.conf

Chrome 调试器

答案1

单个连接是否会发生这种情况?如果一小时后您从客户端 A 发起连接,客户端 B 是否也会有快速响应?

如果不是,那么它可能与 keepalive 超时有关。如果是,那么它可能与缓存有关

答案2

我做了一些测试,发现延迟只出现在 Windows(Win7)机器(PC 和笔记本电脑)上。Mac、iphone 和 ipad 与服务器配合使用时没有延迟。所有设备都在一个子网中(简单的 DLink 路由器)。延迟与连接类型无关(笔记本电脑通过 wifi 连接,PC 通过有线连接),并且无论浏览器类型如何都会出现延迟。一台 PC 连接时有延迟并启动速度很快,另一台 PC 连接时也有延迟。所以我认为问题出在 Windows 网络设置上,与服务器无关。

更新:问题出在卡巴斯基防病毒软件上。我禁用了网络过滤器,现在一切都正常了,没有延迟。

相关内容