每次仅从新的 Web 服务器接收一个文档

每次仅从新的 Web 服务器接收一个文档

我们正在尝试将内部票务系统从服务器机柜中的 Microsoft Small Business Server 移至 Rackspace Cloud Server。安装的是 Fedora 11 LAMP,除了附加到 httpd.conf 底部的 vhosts 外,它应该是默认的。

新服务器正遭受着极长的加载时间的困扰,通过观察 Firebug 中的页面加载很容易发现问题,但我无法找出原因。

这是旧服务器: 旧服务器 http://rkuykendall.com/uploads/old.server.png

我原本以为会有这种情况,但由于不再本地托管,速度会慢一些。相反,新服务器: 新服务器 http://rkuykendall.com/uploads/new.server.png

似乎每次只能提供一个文件。以下是这种阶梯式加载时间效果的另一个示例: 楼梯加载时间效应 http://rkuykendall.com/uploads/staircase.png

另一个非常明显的阶梯效应例子是: 楼梯效果 2 http://rkuykendall.com/uploads/staircase2.png

我和 Freenode #httpd 上的一些人讨论过,但都没有成功。我创建了一个重复的服务器来玩,还创建了一个带有 Fedora Core 13 的新服务器,只移动了数据库和网络文件,但没有成功。

有什么建议么?

答案1

我们找到了答案!这是 IPTables 配置问题。

我们又启动了另一台测试服务器来尝试查找问题,这次是 CentOS。问题没有出现,所以我们打开 IPTables 开始切换到新服务器。启用 IPTables 后,问题又出现了。我们调查了配置文件,并-m limit --limit 1/s在配置中找到了问题。

从我们的 iptables 配置中删除-m limit --limit 1/s解决了所出现的问题。

答案2

你的加载时间太长了,因为浏览器无法找到9需要下载的文件。在打开另一个连接之前,三个 CSS 文件需要 30 秒,一个需要 20 秒才能超时。全部修复出现在红色的在此(http://rkuykendall.com/uploads/staircase.png) 的屏幕截图和性能将会好得多。

技术细节是,HTTP/1.1 规范建议浏览器只做两个每个域同时并发连接数。由于本例中所有连接都来自同一个域,因此丢失文件超时需要长达 30 秒的时间,因此只有一个其他文件可以下载。

相关内容