虚拟服务器上静态文件下载速度缓慢

虚拟服务器上静态文件下载速度缓慢

问题如果我通过一个域名下载文件,下载会在几毫秒内完成,但如果我从另一个域名下载同一个文件,下载开始时很慢,最后返回暂停(如果文件很大,比如 2MB,但如果文件像 100Kb 那样,它就会被正确下载)。

让我进一步解释一下:

我有一个本地服务器,在那里我设置了以下结构。

www/
    index.html
    2mb.pdf
    blog/
         wp-content/
         2mb.pdf
         wordpress.structure

我在 Debian 中使用 apache2,其中有 2 个虚拟服务器,具有以下域和配置(这些不是真实名称)freefri.comfreefriblog.com

freefri.com

<VirtualHost *:80>
    DocumentRoot /var/www
    ErrorLog /var/log/apache2/error.log
    CustomLog /var/log/apache2/access.log combined
    <Directory />
            Options FollowSymLinks
            AllowOverride None
    </Directory>

freefriblog.com

<VirtualHost *:80>
    ServerName freefriblog.com
    HostnameLookups Off
    EnableSendfile off
    KeepAlive off
    DocumentRoot /var/www/blog
    <Directory />
            Options FollowSymLinks
            AllowOverride None
    </Directory>
    <Directory /var/www/blog>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
    </Directory>
    CustomLog ${APACHE_LOG_DIR}/freefriblog-access.log common
    ErrorLog ${APACHE_LOG_DIR}/freefriblog-error.log
    LogLevel warn
</VirtualHost>

因此,如果我打开 Web 浏览器并输入freefri.com/2mb.pdf,文件就会立即下载。如果我输入freefri.com/blog/2mb.pdf,文件也会立即下载。但是如果我输入 ,freefriblog.com/2mb.pdf请求就会超时。所有大于 800KB 的静态文件(如 .png 或 .jpg)都会发生同样的情况。从 freefriblog.com 下载图像时,我收到控制台错误“图像损坏或截断”,但 freefri.com 上的同一张图片会立即下载。

下载过程中,apache2 CPU 使用率不断增加。也许 apache 可能正在对文件进行某种处理,如 GZIP,但我在响应标头中没有看到 gzip。

我在日志中没有看到任何奇怪的东西

可能是 wordpress 出了什么问题?是重写规则吗?

我可以添加更多细节,比如 .htaccess,但我现在不想在帖子中发垃圾信息,只需在评论中询问任何内容,然后我再添加。我也可以执行任何测试,因为它不是生产站点。

相关内容