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:
Dzięki profesjonalnym narzędziom do testów ciśnieniowych wyniki testów ciśnieniowych przedstawiają się następująco:
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)
|