首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么会导致App请求中的未跟踪时间的高度变异性?

什么会导致App请求中的未跟踪时间的高度变异性?
EN

Stack Overflow用户
提问于 2016-05-18 18:26:34
回答 2查看 385关注 0票数 9

我刚刚对我的应用程序进行了负载测试。我注意到两个相同请求的延迟有很大的变化:3s对30s。当我深入研究跟踪时,我发现如下:

代码语言:javascript
复制
|                      | Traced (ms) | Untraced (ms) |
|----------------------+-------------+---------------|
| High-latency Request |         193 |         29948 |
| Low-latency Request  |         305 |          2934 |

下面是跟踪的屏幕截图:

低总延迟

高总延迟

我无法理解运行时性能的10比1差异。

在加载下,我只看到这些高延迟请求。我的代码中有什么东西可以解释这种变异性(假设两个请求都遵循相同的代码路径)?

EN

回答 2

Stack Overflow用户

发布于 2016-10-13 18:02:52

根据我的经验,这些异常高的延迟是由一个新的实例启动引起的。AppEngine Google中有一次关于类似问题的讨论:https://groups.google.com/d/msg/google-appengine/MBveo1KSTyY/mkYdyCmfAgAJ

你可以做两件事:

  1. 通过减少应用程序的总体大小(代码、库、资产)和大量使用延迟初始化来减少实例启动所需的时间。使用更高的实例类也可能有帮助(更强的实例更快地启动)
  2. 调整缩放选项:始终有一个(或两个)空闲实例挂起,这样就不需要在流量高峰时等待实例启动。

希望这能有所帮助。在我的例子中,使用更高的实例类已经有很大帮助了!

票数 1
EN

Stack Overflow用户

发布于 2016-10-22 00:45:18

我也有这个问题,谷歌的支持建议减少max_concurrent_requests。当时的假设是CPU被节流了。在减少它之后,延迟在一般情况下会变得更好。我仍然不确定发生了什么,因为我没想到应用程序会占用那么多CPU。不幸的是,没有任何工具可以在GAE上对CPU进行分析,将CPU密集的部分精确定位在哪里。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37307461

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档