Das Website-Programm wird von asp.net Core entwickelt, der Browser fordert eine Seite an, und der Server muss über den nginx-Reverse-Proxy zum .NET-Programm gehen, um das zu verarbeiten, und während des Stresstests meldet er einen 503-Fehler:
503-Dienst vorübergehend nicht verfügbar 503 ist ein HTTP-Statuscode aufgrund vonVorübergehende Serverwartung oder Überlastung, der Server ist derzeit nicht in der Lage, Anfragen zu verarbeiten。 Dieser Zustand ist vorübergehend und wird nach einiger Zeit wiederhergestellt.
Im Allgemeinen ist der 503-Fehler hauptsächlich auf die große Anzahl von Website-Besuchen zurückzuführen, was zu einem Fehler führt, der durch übermäßigen Datenverkehr oder eine große Anzahl von Nebenläufen verursacht wird.
Laut der Analyse des Barrel-Prinzips gibt es viele Faktoren, die Leistungsengpässe verursachen; zunächst lautet die Linux-Tuning-Referenz wie folgt:
Durch professionelle Drucktestwerkzeuge sind die Drucktestergebnisse wie folgt:
Nginx-Stimmung
worker_processes Auf Automatik eingestellt, wie folgt:
Lass nginx sich automatisch an deine Bedürfnisse anpassen.
Veranstaltungseinstellungen sind wie folgt:
Verwenden Sie den epoll-Modus, um die Anzahl der gleichzeitigen Verbindungen zu erhöhen, die gleichzeitige Verbindungskapazität des nginx-Systems zu erhöhen und die maximale Anzahl der gleichzeitig von den Arbeitern geöffneten Verbindungen festzulegen. Dokumenteneinführung:Der Hyperlink-Login ist sichtbar.
Nach der Abstimmung wird der Drucktest durchgeführt, und es gibt keinen weiteren 503-Fehler, wie in der untenstehenden Abbildung dargestellt:
Wenn du einen nginx-Reverse-Proxy verwendest, um auf php-fpm weiterzuleiten, kannst du folgenden Fehler erhalten:
2022/01/16 16:08:01 [krit] 968#0: *12955 open() "/alidata/www/itsvse_web/50x.html" fehlgeschlagen (24: Zu viele offene Dateien), Client: 100.116.153.2, Server:www.itsvse.com, Anfrage: "GET /forum.php HTTP/1.1", Upstream: "fastcgi://127.0.0.1:9000", Host: "www.itsvse.com" 2022/01/16 16:08:01 [Alarm] 968#0: *12956 Socket() fehlgeschlagen (24: Zu viele offene Dateien) beim Verbinden mit Upstream, Client: 100.116.153.109, Server:www.itsvse.com, Anfrage: "GET /forum.php HTTP/1.1", Upstream: "fastcgi://127.0.0.1:9000", Host: "www.itsvse.com" 2022/01/16 16:08:01 [krit] 968#0: *12956 open() "/alidata/www/itsvse_web/50x.html" fehlgeschlagen (24: Zu viele offene Dateien), Client: 100.116.153.109, Server:www.itsvse.com, Anfrage: "GET /forum.php HTTP/1.1", Upstream: "fastcgi://127.0.0.1:9000", Host: "www.itsvse.com"
Stellen Sie die worker_rlimit_nofile Parameter wie folgt ein:
Dokumentation:Der Hyperlink-Login ist sichtbar.
(Ende)
|