2012-07-12 8 views
8

Słyszałem z kilku źródeł, że Google App Engine Instancje mają sztywny limit 10 równoczesnych żądań. Zastanawiałem się, czy ktoś mógłby wyjaśnić, co to dokładnie oznacza.Czy instancje GAE są ograniczone do 10 równoczesnych żądań?

Czy program planujący blokuje wszystkie żądania w stosunku do 10, czy też jest to egzekwowane z powodu limitu współbieżnych wątków?

W szczególności, czy ten limit wpływa na instancje Go w taki sam sposób jak w Pythonie i Javie?

EDIT: oto wniosek funkcja, która pozwoli App Engine Instancji obsługiwać więcej niż 10 jednoczesnych żądań/wątków. Allow configurable limit of concurrent requests per instance. Proszę gwiazdować.

Odpowiedz

2

ten został ustalony na dzień 18 listopada 2013 r

Maksymalna liczba wniosków każda instancja GAE może proces ten jest teraz skonfigurowany przez np max_concurrent_requests wiązania:

runtime: go 
api_version: go1 
automatic_scaling: 
    max_concurrent_requests: 80 

handlers: 
    - url: /.* 
    script: _go_app 

domyślnie jest to 8, a maksymalnie 80

Aby uzyskać więcej informacji, zobacz https://cloud.google.com/appengine/docs/python/config/appref#automatic_scaling.

8

Od 12 lipca 2012 r. Jest to drugie. 10 równoczesnych limitów jest egzekwowane poprzez ograniczenie współbieżnych wątków w każdym środowisku wykonawczym. W większości takich przypadków nasz program planujący spróbuje uruchomić nowe wystąpienie.

Proszę również zobaczyć e-mail od jonmac na tym wątku: https://groups.google.com/d/msg/google-appengine/y-LnZ2WYJ5Q/j_w13F4oSSkJ

+0

Dziękuję Takashi. A żeby wyjaśnić, że środowisko wykonawcze Go jest wielowątkowe? Wiesz również o żądaniu funkcji dla zwiększenia limitu gwintów. Nie mogłem go znaleźć podczas wyszukiwania. –

+5

Środowisko wykonawcze Go jest jednowątkowe na GAE (GOMAXPROCS = 1). Powodem tego jest możliwość arytmetycznej arytmetyki wskaźnika poprzez tworzenie warunków wyścigu z wieloma wątkami. Ale nie martw się, nadal możesz pisać programy współbieżne w Go, odsłaniając kilka tysięcy goroutinów. – tux21b

+0

@ tux21b Dziękuję. Czy to oznacza, że ​​10 równoczesnych ograniczeń wątku nie będzie miało negatywnego wpływu na aplikacje Go? Wciąż próbuję to objąć. Myślałem, że Go multiplexed goroutines ponad wątkami systemu operacyjnego, na żądanie, gdzie blokowane przez I/O. Jeśli tak jest, a środowisko wykonawcze Go ma jeden wątek, czy każde wywołanie wejścia/wyjścia zablokuje całą instancję? –

Powiązane problemy