我准备拔掉这头发了.我有一个使用Zerigo Free for DNS托管在Heroku上的rails应用程序.该应用程序位于:
> smartvark.com(首选)
> www.smartvark.com(有些用户坚持输入www,这会重定向到
删除www)
> smartvark.heroku.com
(不是给用户,但也许对用户有用
故障排除比较)
用户间歇性地(每50个请求中有一个请求)经历极长的加载时间(约2分钟),当我尝试通过观察我的服务器日志进行分类时,他们的请求似乎在等待期结束之前才会被击中.该站点的典型加载时间快速在200-400ms左右.我正在使用NewRelic并且它没有指出任何服务器负载问题,尽管它通过其信标和图表将这个时间作为“网络”来解决最终用户问题.
使用Firebug和Chrome devtools我可以看到我的机器上发生这种情况的时间表,并且它们在任何响应之前都显示了很长的等待时间,Firebug将其归类为“DNS查找”并且Chrome似乎没有分类.第一个响应发生后,网站的其余部分加载速度非常快.
解决方法
我猜这是因为您的DNS提供商(zerigo.net)正在为其DNS服务器发布IPV6记录.您的Windows和MAC客户端使用的IP服务器启用了IPV6,但没有IPV6连接.这导致DNS超时尝试通过IPV6访问DNS服务器,然后再返回到IPV4.尝试关闭DNS解析器和客户端计算机上的IPV6,看看是否会获得更好的结果.