0

我有一个相当大的应用程序,它进行了大修。

较新的版本使用大量 JSONP 调用,我注意到 500 个服务器错误。日志部分中没有记录任何内容以确定错误原因。它也发生在 JS、png 甚至 jersey(servlet)上。

搜索 SO 和组表明这些错误在部署期间很常见。但即使在部署后数小时后也会发生。

顺便说一句,应用程序变得稍大,甚至在极少数情况下启动少数实例时会导致截止日期异常。有时,它会在 6-10 秒内启动和服务。有时它会超过 75 秒,从而导致类似请求超时。我也看到了预热请求的相同行为。在应用程序预热期间没有加载任何自定义。

4

3 回答 3

0

我觉得您应该在日志中看到错误。您是否超出配额或有截止日期错误?也许您的错误处理程序中有错误,例如找不到文件,或者错误处理程序的路径与另一个静态文件路径重叠?

为了排除故障,我将实现自定义错误页面,以便您确定实际的错误代码。我假设使用 Python,因为您从未指定您使用的语言。将以下内容添加到您的app.yaml并创建静态 html 页面,让收件人了解正在发生的事情,然后报告您的发现:

error_handlers:
  - file: default_error.html
  - error_code: over_quota
    file: over_quota.html
  - error_code: dos_api_denial
    file: dos_api_denial.html
  - error_code: timeout
    file: timeout.html

如果您已经有自定义错误处理程序,您能否提供一些您的app.yaml以便我们为您提供帮助?

于 2013-03-13T04:00:36.667 回答
0

一些 500 未记录在您的应用程序日志中。它们是 GAE 前端的失败。如果由于某种原因,您的请求激增,并且您的应用程序的新实例无法以足够快的速度启动以服务这些请求,您的客户端可能会看到 500,即使这 500 没有出现在您的应用程序的日志中。GAE 团队正在努力提供对这些前端日志的可见性。

于 2013-03-14T19:20:14.777 回答
0

我自己刚看到这个......我正在研究一些访问者的日志,这些访问者只在页面上加载了一半的图形文件。我尝试点击他们访问我们网站的博客上的相同链接。就我而言,我在 chrome 浏览器开发人员控制台中看到 js 文件的 500 错误。然而,当我查看 GAE 日志时,它说它以 200 状态正确地提供了文件。该 js 文件加载了其他未加载的图像。就我而言,这是一个 https 请求。

了解我们的客户体验对我们来说非常重要(显然)。我想让你知道这个问题仍然存在。只要让它出现在日志中就很好了,甚至可以附加一个预热错误或其他东西,所以我们知道它是复杂服务器系统的不可避免的产物(完全可以理解)。我只需要知道是否应该添加实例或其他内容。此错误没有等待 60 秒,可能是 5 到 10 秒。这就像 SSL 握手的往返在中间失败,但日志显示为成功。

那么我可以增加握手的超时时间还是在浏览器端完成?

于 2015-09-15T20:10:04.463 回答