Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
诊断已部署应用程序中appengine java后端挂起_Java_Google App Engine - Fatal编程技术网

诊断已部署应用程序中appengine java后端挂起

诊断已部署应用程序中appengine java后端挂起,java,google-app-engine,Java,Google App Engine,我们正在使用后端为我们的客户并行处理大量工作 用户。这涉及到将100个任务添加到一个专用队列中 将任务分散到5个动态后端。这些任务中的许多都起着重要的作用 url获取到外部web服务 当我们为一个用户运行这个程序时,它似乎工作得很好,但是一旦我们 为许多用户运行它(例如,在夜间批量运行中),我们可以看到大多数 后端最终停止处理新任务 我们已经尝试过限制利率,但也没有帮助。我可以手动停止 被冻结的后端和新的后端将启动 处理,直到它们冻结。最终,这一切都在一段时间后完成 停止冻结服务器的迭代次数很少

我们正在使用后端为我们的客户并行处理大量工作 用户。这涉及到将100个任务添加到一个专用队列中 将任务分散到5个动态后端。这些任务中的许多都起着重要的作用 url获取到外部web服务

当我们为一个用户运行这个程序时,它似乎工作得很好,但是一旦我们 为许多用户运行它(例如,在夜间批量运行中),我们可以看到大多数 后端最终停止处理新任务

我们已经尝试过限制利率,但也没有帮助。我可以手动停止 被冻结的后端和新的后端将启动 处理,直到它们冻结。最终,这一切都在一段时间后完成 停止冻结服务器的迭代次数很少

显然,这严重限制了我们的扩展能力,所以我 想知道如何诊断这个问题。我们无法在计算机上复制这一点 localhost,因为它不是真正的多线程,也不是真正的 复制已部署的数据模式

我们可以通过使用拉队列来处理这个问题,但这还不够 我宁愿让队列/后端调度程序来编写代码 为我们工作

我想做的是将探查器或jconsole附加到后端-这将 马上告诉我冷冻是从哪里来的。是吗 可能的如果没有的话,有没有人有我们可以使用的其他技巧 诊断冻结的后端

仅供参考:“冻结”实例的内存级别从150mb到150mb不等 到250mb,也就是说,这可能是内存泄漏,但内存数量并不真正支持这一点,它们在冻结时消耗零cpu,并且不处理新任务


感谢您的关注和帮助,Steve过去我用过Java。您可以将其连接到远程运行的JVM,并使用它进行内存转储和检查CPU/线程使用情况等。这对于了解类似情况非常方便。

谢谢您的提醒,但我认为这不能连接到GAE后端,对吗?我从未使用过GAE,但我假设它们要么允许访问服务器实例,要么具有某种远程调试功能。