我在GAE上检查我的Go应用程序的性能,我认为静态文件的响应时间非常长(183ms).是吗?为什么?我能做些什么呢? 64.103.25.105 - - [07/Feb/2013:04:10:03 -0800] "GET /css/bootstrap-responsive.cssHTTP/1.1" 20
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(有时)
由于我有一个或多或少50毫秒的ping往返谷歌应用程序引擎,似乎该文件通常在50毫秒左右服务.
我猜测150-300ms的响应时间与谷歌应用程序引擎前端服务器“冷缓存”有关.我假设从某个持久存储中检索文件涉及比在前端服务器缓存中更高的延迟.
我还假设您可以点击各种前端服务器并获得零星的更高延迟.
最后,浏览器的整体感知延迟应该与以下内容密切相关:
(tc)ping前端tcp / http排队/缓冲在前端服务器文件服务应用程序时间(如谷歌应用程序日志中所示)传输文件的时间.
如果前端服务器没有过载且文件很小,则延迟应该接近ping服务时间.
在我的情况下,50ms(ping)35ms(服务)= 85ms,非常接近我在浏览器中看到的95ms.
最后,如果您的应用程序正在处理大量请求,它们可能会排队,引入应用程序日志中“不可见”的延迟.