Het websiteprogramma wordt ontwikkeld door asp.net core, de browser vraagt een pagina aan, en de server moet via de nginx reverse proxy naar het .NET-programma gaan om het te verwerken, en tijdens de stresstest zal er een 503-fout worden gerapporteerd:
503-dienst tijdelijk niet beschikbaar 503 is een HTTP-statuscode vanwegeTijdelijke serveronderhoud of overbelasting, de server kan momenteel geen verzoeken verwerken。 Deze toestand is tijdelijk en zal na verloop van tijd hersteld worden.
Over het algemeen is de 503-fout vooral te wijten aan het grote aantal websitebezoeken, wat resulteert in een fout veroorzaakt door overmatig verkeer of een groot aantal gelijktijdige tijden.
Volgens de analyse van het barrel-principe zijn er veel factoren die prestatieknelpunten veroorzaken; allereerst is de Linux-afstemmingsreferentie als volgt:
Met professionele druktesttools zijn de druktestresultaten als volgt:
Nginx-stemming
worker_processes Ingesteld op Automatisch, als volgt:
Laat nginx zich automatisch aanpassen aan jouw behoeften.
Evenementeninstellingen zijn als volgt:
Gebruik epoll-modus om het aantal gelijktijdige verbindingen te verhogen, de gelijktijdige verbindingscapaciteit van het nginx-systeem te vergroten en het maximale aantal verbindingen in te stellen dat door arbeiders tegelijk geopend kan worden. Inleiding van het document:De hyperlink-login is zichtbaar.
Na het afstellen wordt de druktest uitgevoerd en is er geen 503-fout meer, zoals weergegeven in de onderstaande figuur:
Als je een nginx reverse proxy gebruikt om door te sturen naar php-fpm, kun je de volgende foutmelding krijgen:
2022/01/16 16:08:01 [crit] 968#0: *12955 open() "/alidata/www/itsvse_web/50x.html" mislukt (24: Te veel open bestanden), client: 100.116.153.2, server:www.itsvse.com, verzoek: "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() faalde (24: Te veel open bestanden) terwijl ik verbinding maakte met upstream, client: 100.116.153.109, server:www.itsvse.com, verzoek: "GET /forum.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "www.itsvse.com" 2022/01/16 16:08:01 [crit] 968#0: *12956 open() "/alidata/www/itsvse_web/50x.html" mislukt (24: Te veel open bestanden), client: 100.116.153.109, server:www.itsvse.com, verzoek: "GET /forum.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "www.itsvse.com"
Stel de worker_rlimit_nofile parameters als volgt in:
Documentatie:De hyperlink-login is zichtbaar.
(Einde)
|