Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 6864|Odpowiedź: 4

Praktyczna optymalizacja współbieżności żądań HTTP w Nginx

[Skopiuj link]
Opublikowano 16.01.2022 13:46:40 | | | |
Program strony internetowej jest tworzony przez asp.net core, przeglądarka żąda strony, a serwer musi przejść przez odwrotny proxy nginx do programu .NET, aby to przetworzyć, i podczas testu obciążeniowego zgłasza błąd 503:

Usługa 503 tymczasowo niedostępna

503 to kod statusowy HTTP ze względu naTymczasowa konserwacja serwera lub przeciążenie, serwer obecnie nie jest w stanie przetwarzać żądań。 Ten stan jest tymczasowy i zostanie przywrócony po pewnym czasie.

Ogólnie rzecz biorąc, błąd 503 wynika głównie z dużej liczby odwiedzin na stronie internetowej, co skutkuje błędem spowodowanym nadmiernym ruchem lub dużą liczbą współbieżności.

Według analizy zasady barrel istnieje wiele czynników powodujących wąskie gardła wydajności, przede wszystkim odniesienie do strojenia Linuksa wygląda następująco:

Linux (CentOS) ogranicza wydajność serwera
https://www.itsvse.com/thread-10134-1-1.html

Dzięki profesjonalnym narzędziom do testów ciśnieniowych wyniki testów ciśnieniowych przedstawiają się następująco:

.NET/C# Test obciążenia NBomber Prosty Samouczek
https://www.itsvse.com/thread-9993-1-1.html



Strojenie Nginx

worker_processes Ustaw na automatyczny, w następujący sposób:

Pozwól nginx automatycznie dostosować się do twoich potrzeb.

Ustawienia wydarzeń są następujące:

Użyj trybu epoll, aby zwiększyć liczbę łączeń równoczesnych, zwiększyć pojemność połączeń równoczesnych systemu nginx oraz ustawić maksymalną liczbę połączeń, które pracownicy mogą otwierać jednocześnie. Wprowadzenie do dokumentu:Logowanie do linku jest widoczne.

Po strojeniu wykonywany jest test ciśnienia i nie ma już błędu 503, jak pokazano na poniższym rysunku:


Jeśli użyjesz odwrotnego proxy nginx do przekierowania do php-fpm, możesz otrzymać następujący błąd:

2022/01/16 16:08:01 [krytyk] 968#0: *12955 open() "/alidata/www/itsvse_web/50x.html" niepowodzenie (24: Zbyt wiele otwartych plików), klient: 100.116.153.2, serwer:www.itsvse.com, żądanie: "GET /forum.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "www.itsvse.com"
2022/01/16 16:08:01 [alert] 968#0: *12956 socket() nieudane (24: Zbyt wiele otwartych plików) podczas łączenia z upstream, klient: 100.116.153.109, serwer:www.itsvse.com, żądanie: "GET /forum.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "www.itsvse.com"
2022/01/16 16:08:01 [krytyk] 968#0: *12956 open() "/alidata/www/itsvse_web/50x.html" nieudane (24: Zbyt wiele otwartych plików), klient: 100.116.153.109, serwer:www.itsvse.com, żądanie: "GET /forum.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "www.itsvse.com"



Ustaw parametry worker_rlimit_nofile następująco:



Dokumentacja:Logowanie do linku jest widoczne.

(Koniec)





Poprzedni:Różnice i powiązania między Ubuntu, CentOS a RedHat
Następny:Narzędzie do zarządzania bazą danych OceanBase do pobrania
Opublikowano 16.01.2022 21:02:14 |
Przyjdź i ucz się znowu
Opublikowano 24.01.2022 11:18:47 |
Nauczyłem się tego, dziękuję
 Ziemianin| Opublikowano 30.03.2023 10:01:36 |
nginx:413 Jednostka żądania zbyt duża
https://www.itsvse.com/thread-10545-1-1.html
 Ziemianin| Opublikowano 30.03.2023 10:01:45 |
Nginx dodaje włączony protokół HTTP/2
https://www.itsvse.com/thread-10307-1-1.html
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com