我在 GAE 上检查 Go 应用程序的性能,我认为静态文件的响应时间相当长(183 毫秒)。是吗?为什么?我能做什么呢?
64.103.25.105 - - [07/Feb/2013:04:10:03 -0800] "GET /css/bootstrap-responsive.css
HTTP/1.1" 200 21752 - "Go http package" "example.com" ms=183 cpu_ms=0
对于静态文件来说,“常规”200 毫秒似乎偏高。我从我的应用程序中提供相同“bootstrap-responsive.css”的静态版本,我可以看到两种类型的应答时间:
- 50-100ms(大多数时间)
- 150-500ms(有时)
由于我到 google 应用引擎的 ping 往返时间大约为 50 毫秒,因此文件通常在 50 毫秒左右的时间内提供服务。
我猜想 150-300 毫秒的响应时间与谷歌应用程序引擎前端服务器被“冷缓存”有关。我认为从某些持久存储中检索文件会比在前端服务器缓存中检索文件带来更高的延迟。
我还假设您可以访问各种前端服务器并获得零星的较高延迟。
最后,浏览器的总体感知延迟应近似为:
(tc)ping 往返 + 前端服务器上的 tcp/http 排队/缓冲 + 文件服务应用程序时间(如您的谷歌应用程序日志中所示)+ 传输文件的时间。
如果前端服务器没有过载并且文件很小,则延迟应该接近 ping + 服务时间。
就我而言,50 毫秒(ping)+ 35 毫秒(服务)= 85 毫秒,与我在浏览器中看到的 95 毫秒非常接近。
最后,如果您的应用程序正在处理大量请求,它们可能会排队,从而引入应用程序日志中“不可见”的延迟。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)