相关疑难解决方法(0)

App Engine调度程序何时使用新线程与新实例?

如果我threadsafe: true在我的app.yaml文件中设置了什么规则来管理何时创建新实例来提供请求,而不是在现有实例上创建新线程?

如果我有一个应用程序在每个请求上执行一些计算密集的东西,那么多线程会给我带来什么吗?换句话说,实例是多核实例还是单核?

或者,当现有线程在IO上等待时,新线程是否只会启动?

python google-app-engine

60
推荐指数
1
解决办法
2424
查看次数

Go如何处理Google App Engine上的并发请求

我对Go如何处理Google App Engine上的并发请求感到有些困惑.所以我希望有人可以提供一些清晰度.

以下是我收集的事实:

  1. Go是App Engine上的单线程.- 这是因为可以通过创建具有多个线程的竞争条件来执行任意指针运算

  2. Goroutines被多路复用到多个OS线程上,因此如果应该阻塞,例如在等待I/O时,其他线程继续运行.

  3. [App Engine有一个] 10并发限制[通过对每个运行时的并发线程的限制来强制执行].大多数情况下,我们的调度程序将尝试启动一个新实例.

如果Go是App Engine上的单线程,则第3点没有实际意义.这留下1和2.如果Go on App Engine是单线程的,并且线程需要在阻塞I/O时继续执行,那么似乎App Engine Go实例将在等待I/O时阻止所有goroutine.

它是否正确?如果不是Go的并发性如何在App Engine上真正起作用?

帮助量化事物.如果我要保持连接打开30秒.单个AE Go实例可以如何维护并发连接?

谢谢.

编辑:这是功能请求,允许Go实例处理超过10个并发请求允许每个实例的可配置的并发请求限制.请加星标.

google-app-engine multithreading go

15
推荐指数
2
解决办法
3472
查看次数

标签 统计

google-app-engine ×2

go ×1

multithreading ×1

python ×1