2

我向我的服务器发出一个简单的 GET 请求,它平均在大约 1.2 秒后返回(使用 firebug NET 选项卡,“等待 reqponse”部分 - 甚至不是整个响应时间)

我对服务器的 ping 是 0.250

使用带有 rails 2.3.3 的乘客,在 rails 日志中,请求占用 ~0.023

我的服务器在 GoDaddy 上,所以我也用 firebug 检查了他们的主页——他们页面的“等待 reqponse”时间约为 0.320

最坏的情况应该是 0.4 左右......那么我在哪里失去了另外的 0.8 秒?

我还能检查什么?

编辑:

似乎它与 Rails 无关 - 图像请求(只有 apache 响应,根本没有碰到 Rails)也需要约 1.2 秒

4

4 回答 4

1

GoDaddy 可能在您和您的 HTTP 服务器之间有一个反向代理。

他们可能会立即向您发送响应标头,然后可能会从缓存中为您提供响应的内容。

因此,从您的 HTTP 服务器的角度来看,会传输响应。然后它转到 GoDaddy 的反向代理,最后转到您的网络浏览器。

于 2009-11-05T22:57:44.183 回答
0

听起来这不是你的问题,而是 ISP 的问题。

您可以从同一台服务器直接(或 apache)对您的 rails 应用程序的内部 ip/port 执行 wget 吗?这将告诉您概率是在应用程序堆栈中还是在上游。

如果可以,可以使用名为 ab“apache benchmark”的 apache 工具来提供帮助。

关键是可以通过 ssh 访问您的计算机。

于 2009-11-04T19:24:44.327 回答
0

您为 GoDaddy 托管文件的位置与其主页的托管位置不同。

您是否检查过您在同一服务器上托管的其他页面?可能是由于数据库连接或类似的“慢”连接可能导致页面在发送回客户端之前需要一段时间。

于 2009-10-09T21:25:43.260 回答
0

尝试在 Servers 或 VHosts 配置中将 PassengerPoolIdleTime 设置为 0。也许您的服务器正在快速关闭应用程序实例,并为每个请求生成一个新实例,这通常需要很长时间。

查看文档以获取有关此设置的更多信息:http: //modrails.com/documentation/Users%20guide%20Apache.html#PassengerPoolIdleTime

于 2009-10-09T21:31:37.137 回答