Golang AppEngine memcache截止时间超过

huangapple go评论82阅读模式
英文:

Golang AppEngine memcache deadline exceeded

问题

我有一个使用任务队列在并行中运行蒙特卡洛风格模拟的Golang AppEngine应用程序,并且大量使用memcache来存储中间结果。对于小量的进程/任务(<100),一切正常,但是我发现在大量进程/任务(>1000)时,我经常无法从memcache中读取或更新中间数据,出现错误“已取消:超过截止时间”。这似乎发生在初始化任务后的7-10秒钟。特别是memcache.JSON.Get和memcache.IncrementExisting似乎是罪魁祸首。我是否可能以某种方式过载了memcache?

英文:

I have a golang AppEngine application which runs a Monte Carlo- style simulation in parallel using the task queue, and makes heavy uses of memcache to store intermediate results. Everything works fine for small numbers of processes/tasks (< 100), but I'm finding that at large numbers (> 1000) I get a lot of failures to read or update intermediate data from memcache, with the error 'Canceled: Deadline exceeded'. This seems to happen 7-10 seconds after initialising a task. Particular offenders seem to be memcache.JSON.Get and memcache.IncrementExisting. Is it possible I'm overloading memcache somehow ?

答案1

得分: 1

问题 6519 可能是相关的

> 如果你启用了 appestats,并且 memcache 的日志超过了 1mb,就会出现“堆溢出”错误,然后所有后续的 memcache 设置/获取/管理调用都会失败。实例上传“修复”了这个问题,但只是暂时的。我禁用了 appestats 来更加永久地解决这个问题。

英文:

Issue 6519 might be relevant

> If you have appestats enabled, and the memcache logging exceeds 1mb,
> it gets a "out of heap" error and then all subsequent memcache
> sets/gets/admin calls fail. Instance upload "fixes" the problem
> temporarily. I disabled appestats to fix the problem more
> permanently.

答案2

得分: 0

似乎这与底层的AppEngine基础设施问题有关(现已解决)

英文:

Seems this was related to an underlying AppEngine infrastructure problem (now resolved)

huangapple
  • 本文由 发表于 2013年1月28日 21:30:32
  • 转载请务必保留本文链接:https://go.coder-hub.com/14563145.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定