0
如何避免OutOfMemoryError异常?如何在达到OutOfMemoryError之前启动新的GAE实例
App Engine调度程序基于响应时间启动实例,但是当现有实例超过其内存配额时,我们需要启动新实例。
我们的GAE实例处理不同文件大小的多个并发上传请求。每当一个实例处理太多的并发上传(使用堆空间来复制上传的字节)时,该实例就会使用java.lang.OutOfMemoryError崩溃:Java堆空间。
我们已经看到其他帖子提示使用更多内存的实例类或使用后端。 但是,我们是否必须移动到后端才能避免这种情况?或者有没有一种方法可以鼓励普通的GAE实例调度程序不要向接近内存限制的实例发送新的请求?
不幸的是,我们不能使用blobstore AFIK,因为blob不能被用户认证保护(即它通过链接的默认使用安全性)。 –
Blobstore数据只能通过您的代码访问,您可以使用任何您需要的安全方案。 –
另外,对于每个blob,blobstore都会生成一个非常长的随机密钥,这是无法猜测的。在这方面,它与网络上的任何其他安全机制(即cookies)一样安全。 –