2012-10-11 16 views
17

Mam pytanie do sysadmins i programistów. widzę, że uWSGI pozwala mi ustawić numer lub pracowników lub procesów, gdy uruchomione uWSGI i czytałem, że to zależy od zainstalowanego urządzenia, więc mam kolejne pytania:uwsgi: Co definiuje liczbę pracowników/procesów, których potrzebuje aplikacja django?

  1. Jakie są zasady, które definiują liczba pracowników do maszyny?
  2. W przypadku korzystania z nginx, czy konfiguracja worker_processes w pliku nginx.conf ma na to wpływ?
  3. W połączeniu z Selerem i Redisem jest związana z tym concurrency?
  4. Co z bezpieczeństwem nici w tej konfiguracji? (Widziałem przypadki w mojej aplikacji gdzie 1 zapytanie wykonuje 1 zadanie, a wynik jest 2 wywołań selera z tym zadaniem.)
+0

Twój ostatni punkt nie jest związany z konfiguracją uwsgi. (możesz chcieć otworzyć nowe pytanie na ten temat [ze swoimi konfiguracjami selerów]) –

+0

jesteś pewien? czy możesz odpowiedzieć dlaczego? – panchicore

Odpowiedz

13
  • Jakie są zasady, które określają liczbę pracowników na maszynie?

    Z uWsgi docs:

    Nie ma magicznej reguła ustalania liczby procesów lub wątków. Jest zależny od aplikacji i systemu. Nie myśl, że wystarczy użyć prostej matematyki, takiej jak 2 * cpucores. Musisz eksperymentować z różnymi ustawieniami i stale monitorować swoją aplikację. uwsgitop może być doskonałym narzędziem do znalezienia najlepszej wartości.

  • Podczas korzystania z nginx, konfiguracja "procesy_pracownika" w pliku nginx.conf ma na to wpływ?

    To ustawienie dotyczy tylko nginx i nie ma bezpośredniego wpływu na uwsgi. Jednak prawdopodobnie będziesz musiał majstrować przy tym ustawieniu, ponieważ nie chcesz mieć dwudziestu nginx worker_processes i tylko jednego pracownika uwsgi.

  • Podczas korzystania z selera + redis z tym wiąże się "współbieżność"?

    Zwykle rozpędzam demona selera za pomocą manage.py django, więc będzie działać poza uwsgi.

  • Co z bezpieczeństwem nici w tej konfiguracji?

    Muszę znać więcej szczegółów/szczegółów, aby skomentować.

+0

Bezpieczeństwo wątków: Mam na myśli, bezpieczeństwo wątków w środowisku skonfigurowanym za pomocą nginx 1 worker_process + uwsgi 2 pracowników + proces selekcji 4. W mojej aplikacji widziałem przypadki, w których 1 żądanie wykonuje 1 zadanie, a wynikiem są 2 wywołania selera z tym zadaniem. – panchicore

Powiązane problemy