在应用引擎 PHP + BigQuery 上获取错误代码 204
Posted
技术标签:
【中文标题】在应用引擎 PHP + BigQuery 上获取错误代码 204【英文标题】:Getting error code 204 on App engine PHP + BigQuery 【发布时间】:2016-03-22 15:22:39 【问题描述】:我收到此错误:
A problem was encountered with the process that handled this request, causing it to exit.
This is likely to cause a new process to be used for the next request to your application.
(Error code 204)
我有一个主要使用 BigQuery 的 php 应用程序。我无法调试它,这非常令人沮丧。
here 没有任何帮助。
我能做什么?
应用 ID 为:logolapp
更新回复问题的答案
是的,它仍在发生,不是每个请求,而是类似于 1/20 的请求。自从我开始开发这个应用程序以来就发生了这种情况,大约是一周前。
在日志中。在浏览器中我只得到 500
1/20 左右的请求随机发生
我正在 BigQuery 中放置和查询统计信息。
另一个更新 - 我的 app.yaml:
application: logolapp
version: 1
runtime: php55
api_version: 1
threadsafe: true
handlers:
- url: /static
static_dir: static
- url: /data
script: data.php
- url: /get/.*
script: get.php
- url: /query/.*
script: query.php
- url: /post
script: post.php
- url: /postidm
script: main.php
- url: /info
script: info.php
【问题讨论】:
能否请您也发布您的 app.yaml 文件? @DoITInternational 添加了 app.yaml 您能否尝试重新部署应用程序并将threadsafe
值设置为false
,因为这可能与您的问题的原因有关。另外,请告诉我您是否在应用程序中广泛使用 Memcache。
@DoITInternational 做出了改变。到目前为止没有遇到错误,所以看起来它正在工作。但它不会大大降低性能吗?
我不知道线程安全设置为错误的降低性能。将 Threadsafe 设置为 true 实际上会降低应用程序的速度,因为您有目的地确保或多或少地按顺序处理请求以避免数据争用。
【参考方案1】:
这个问题有几个可能的原因,其中一个是实例上的内存不足,可以通过将内存密集型进程移动到具有更多内存的后端实例,或增加实例的实例类来解决你现在正在使用。
另一个可能的原因可能是缩放问题。不过,我需要查看您的 app.yaml 中的缩放设置来确认这一点。
最后,这可能与您的app.yaml
中的threadsafe
设置为true
有关。请将threadsafe
设置为false
以确保GAE 不会与您的代码混淆
如果您可以修改您的问题并添加以下信息,将会很有帮助:
您的问题仍然存在吗?问题是从什么时候开始的? 错误是否显示在您的日志中,或者是您尝试通过浏览器访问应用程序时出现的错误? 问题是连续发生还是分批发生?如果分批,多久发生一次? 您打算用 BigQuery 做什么?【讨论】:
以上是关于在应用引擎 PHP + BigQuery 上获取错误代码 204的主要内容,如果未能解决你的问题,请参考以下文章
在谷歌应用引擎中将数据流式传输到 bigquery - java