我一直在使用AppStats检查一些调用。我有一个简单的视图,可以进行Memcache调用并返回结果。Appstats告诉我,总时间(总数)约为15毫秒。但是,我在浏览器中观察到的更像是242毫秒左右。实际上,我也使用Apache Bench获得了相同的结果。我尝试了另一个网络(使用EC2实例),以查看是否会看到不同的往返时间,并且也获得了相同的结果。服务器的ping大约需要13或14ms。
我肯定在这里错过了一些东西。我无法解释约180-200ms的延迟。基于带有应用引擎和AppStats的经验,我希望有人能帮助我睁开眼睛对我所缺少的东西。
如果有兴趣的话,一些环境细节... Python 2.7;在测试中同时使用WebApp2和烧瓶;我的apache台测试都是单线撞击100次的单线。
感谢您的任何见解。
根据我的经验,您将始终看到AppStats和总时间之间的区别。您可以在日志中看到这一点。列出了总延迟的位置。AppStats为您提供了代码处理请求所花费的时间,但是日志列表总计I/O时间。从我可以锻炼的情况下,增加的时间取决于负载平衡以及应用程序内部排队请求的方式,并评估是否需要扩展。另外,如果您发送100请求的爆发,您实际上可能会更明显地引起差异,因为根据您的应用程序设置,很可能会在新实例启动之前的最小实例上提供这些请求。
如果您希望您的应用程序表现良好,则是一个好的经验法则,其AppStats的AppStats低于100ms,其余的取决于您要燃烧的钱。
将对官方线感兴趣,但这在与App Engine一起工作了3年后,这就是我的样子