草庐IT

Appstats

全部标签

java - Google App Engine 奇怪的延迟

我改进了很多我的代码,现在所有的API都运行得非常快,我还添加了memcache并且我有一个很好的命中率..但有时我会遇到毫无意义的延误。我在此处附上最重要的appstats屏幕截图:运行90毫秒的RPC总共需要20多秒;这怎么可能?我应该在哪里寻找这些延迟的根源?我真的被卡住了,因为我不明白RPC之间发生了什么,我不知道我还能做些什么来获得更多信息。只是想一想:每个HTTP调用都由同一个GAE实例处理,对吗?因为我的实例花了很多时间来预热..但我不认为这是相关的顺便说一句:我正在用Java编写代码。 最佳答案 通常,appstat

java - 如何为 App Engine/Java 上的单个请求暂停 appstats?

我通常在我的沙盒appid上全时运行appstats。但是,我有一个复杂的操作(基本上是重建股票数据库)导致appstats炸毁我的实例,抛出OutOfMemoryErrors。即使具有更大的实例大小,它仍然会失败。Appstats只是需要太多RAM。我不需要此请求的appstats。理想情况下,我会在负责收集appstats的任何ThreadLocal对象上调用一个方法,并告诉它转动拇指几分钟。我考虑过扩展AppstatsFilter以忽略某些URL,但有问题的请求作为延迟任务执行并通过路径识别它有些复杂。如何让appstats暂停?以防万一不清楚:我现在正在做的是上传一个禁用了ap

java - Google App Engine for Java session 究竟是如何工作的?

我知道应用程序引擎使用内存缓存和数据存储进行session。我可以在appstats中看到,当我调用getSession()创建一个新session时,发生了1个内存缓存和1个数据存储。但是,在我的应用程序的每个请求中,我都会从session中获取当前用户对象。并且没有内存缓存或数据存储出现在appstats中。它是如何工作的? 最佳答案 Google博客“EasyPerformanceProfilingwithAppstats”有一篇不错的文章,介绍了在Appstats中分析内存缓存。它在Python中进行了讨论,但引用了Apps

java - 为 cron 作业配置 Java GAE Appstats

我配置了我的web.xml来为我的cron作业启用appstats。我的cron作业由位于URLhttp://myapp.appspot.com/cron/myjob的servlet处理,并且每小时执行一次。当我通过URLhttp://myapp.appspot.com/appstats/stats访问appstats管理界面时。我可以看到有关/appstatsURL的统计信息,但看不到有关/cronURL的统计信息。我希望appstats能够在每次执行cron作业时记录事件。这是我的web.xml:guiceFiltercom.google.inject.servlet.GuiceF

python - App Engine(python)在生产中跳过 webapp 中间件(如 Appstats),但在开发服务器上运行良好

我正在使用AppEnginepython托管应用程序,并且喜欢使用Appstats和其他几个作为中间件运行的库。但是,当我通过appengine_config.py(如下所示)设置中间件时,它可以在开发服务器上运行,但不能在生产服务器上运行。Appstats和gaesessions在开发服务器中工作得很好,在生产中根本不起作用。这是我的appengine_config.py,位于我的根/src目录中:fromcom.impactpy.gaesessionsimportSessionMiddlewareCOOKIE_KEY='nicetry'defwebapp_add_wsgi_midd