Jak działa obsługa równoległych żądań w Google App Engine

Jestem trochę zdezorientowany, jak Go obsługuje jednoczesne żądania w Google App Engine. Więc mam nadzieję, że ktoś może zapewnić jasność.

Oto fakty, które zebrałem:

Go to pojedynczy wątek w App Engine. -Dzieje się tak, ponieważ możliwe jest wykonanie dowolnej arytmetyki wskaźnika poprzez stworzenie warunków wyścigu z wieloma wątkami

Goroutines są multipleksowane na wiele wątków systemu operacyjnego, więc jeśli należy je zablokować, na przykład podczas oczekiwania na operacje we / wy, inne nadal działają.

[App Engine ma 10 współbieżnych limitów [które] jest wymuszane przez limit współbieżnych wątków w każdym środowisku wykonawczym. Większość takich przypadków nasz program planujący spróbuje uruchomić nową instancję.

Jeśli Go jest jednym wątkiem na App Engine, to punkt 3 jest dyskusyjny. Pozostaje 1 i 2. Jeśli Go on App Engine jest pojedynczym wątkiem i wątki są wymagane do kontynuowania wykonywania podczas blokowania I / O, wydaje się, że instancja App Engine Go zablokuje wszystkie goroutines podczas oczekiwania na I / O.

Czy to jest poprawne? Jeśli nie, to czy współbieżność Go naprawdę działa w App Engine?

Aby pomóc określić ilościowo rzeczy. Gdybym miał utrzymywać połączenie otwarte przez 30 sekund. W jaki sposób jednoczesne połączenia mogą utrzymywać pojedynczą instancję AE Go?

Dziękuję Ci.

EDIT: oto prośba o funkcję, która pozwoli Go Instance obsłużyć więcej niż 10 jednoczesnych żądańZezwalaj na konfigurowalny limit jednoczesnych żądań na instancję. Proszę to zagrać.

questionAnswers(2)

yourAnswerToTheQuestion