我向我的服务器发出一个简单的GET请求,它在平均约1.2秒之后回来(使用firebug NET选项卡,“等待响应”部分 - 甚至不是整个响应时间)
我对服务器的ping是0.250
使用带有rails 2.3.3的Passenger,在rails日志中,请求正在进行~0.023
我的服务器在GoDaddy上,所以我也用firebug检查了他们的主页 - 他们页面的“等待响应”时间是~0.320
最坏的情况应该是0.4左右...所以我在哪里失去了另外0.8秒?
我还能检查什么?
编辑:
似乎与铁轨无关 - 一个图像请求(只有apache响应,doest完全触及轨道)也需要大约1.2秒
答案 0 :(得分:1)
GoDaddy可能在您和您的HTTP服务器之间有一个反向代理。
他们可能正在做一些事情,比如立即向您发送响应标头,然后可能从缓存中为您提供响应的内容。
因此,从HTTP服务器的角度来看,会传输响应。然后它转到GoDaddy的反向代理,最后转到你的网络浏览器。
答案 1 :(得分:0)
GoDaddy托管文件的位置与托管主页的位置不同。
您是否检查过您在同一台服务器上托管的其他页面?可能由于数据库连接或“缓慢”连接等原因导致页面在发送回客户端之前需要一段时间。
答案 2 :(得分:0)
尝试在Servers或VHosts配置中将PassengerPoolIdleTime设置为0。 也许你的服务器正在关闭应用程序实例以快速生成一个新实例,每个请求通常需要很长时间。
有关此设置的详细信息,请查看文档: http://modrails.com/documentation/Users%20guide%20Apache.html#PassengerPoolIdleTime
答案 3 :(得分:0)
听起来不是你的问题,而是ISP的问题。
你可以从同一台服务器直接(或apache)对你的rails app的内部ip / port进行wget吗? 这将告诉您probaby是在应用程序堆栈中还是在上游。
如果可以的话,可以使用apache工具,称为ab“apache benchmark”来帮助。
关键是对您的计算机进行ssh访问。