我正在开发一个网站,它在我的本地机器上运行。页面加载一些内容很快,但瀑布图显示其余内容(主要是小图像)的阻塞和等待时间很长
前 13 个左右的文件在不到 0.5 秒的时间内传送完毕,其余文件的阻塞时间不断增加,尽管与快速文件一样小,但仍需要 2 到 5 秒才能传送。
- 该页面上没有 AJAX。
我使用的是 Apache 2.2,我的机器有 16 GB 的 RAM。有人熟悉瀑布图中显示的模式吗?
知道为什么某些内容传输速度这么慢吗?Apache 还是其他系统问题?
让我知道您需要什么信息...只是希望这种问题对于一些明智的大师来说是老生常谈!
答案1
好吧,事实证明我在 Windows 7 中没有遇到此问题,因此我认为它可能与浏览器有关。我的 Ubuntu Firefox 有 (about:config) network.http.max-connections = 32。Firefox 将尝试打开 32 个到我的服务器的连接。1s 的延迟是 Apache 生成新的子进程。一旦我将最大连接数限制为空闲 Apache 进程的大小,问题就会消失。我不能依赖人们更改他们的浏览器,因此作为修复,我将 Apache MinSpareServers 设置为 32。此外,如果 MaxClients 设置得太低并且 KeepAlive 处于打开状态,Firefox 仍将尝试建立 32 个并行连接,但必须等到 KeepAlive 到期才能生成新的 Apache 子进程。