Il programma web è sviluppato con asp.net core, il browser richiede una pagina e il server deve passare attraverso il proxy inverso nginx al programma .NET per essere elaborato, e durante il test di stress riporterà un errore 503:
Servizio 503 temporaneamente non disponibile 503 è un codice di stato HTTP a causa diManutenzione temporanea del server o sovraccarico, il server attualmente non è in grado di elaborare le richieste。 Questa condizione è temporanea e verrà ripristinata dopo un po' di tempo.
In generale, l'errore 503 è dovuto principalmente all'elevato numero di visite al sito web, che provoca un errore causato da un traffico eccessivo o da un gran numero di concorrenti.
Secondo l'analisi del principio del canna, ci sono molti fattori che causano colli di bottiglia nelle prestazioni; innanzitutto, il riferimento per la tuning Linux è il seguente:
Attraverso strumenti professionali di test di pressione, i risultati sono i seguenti:
Accordatura Nginx
worker_processes impostato su Automatico, come segue:
Lascia che nginx si adatti automaticamente alle tue esigenze.
Le impostazioni degli eventi sono le seguenti:
Usa la modalità epoll per aumentare il numero di connessioni concorrenti, aumentare la capacità di connessione concorrente del sistema nginx e impostare il numero massimo di connessioni che possono essere aperte contemporaneamente dai lavoratori. Introduzione al documento:Il login del link ipertestuale è visibile.
Dopo la regolazione, viene eseguito il test di pressione e non si verifica più l'errore 503, come mostrato nella figura sottostante:
Se usi un proxy inverso nginx per inoltrare in php-fpm, potresti ricevere il seguente errore:
2022/01/16 16:08:01 [crit] 968#0: *12955 open() "/alidata/www/itsvse_web/50x.html" fallito (24: Troppi file aperti), client: 100.116.153.2, server:www.itsvse.com, richiesta: "GET /forum.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "www.itsvse.com" 2022/01/16 16:08:01 [allarme] 968#0: *socket() 12956 fallito (24: Troppi file aperti) durante la connessione all'upstream, client: 100.116.153.109, server:www.itsvse.com, richiesta: "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" fallito (24: Troppi file aperti), client: 100.116.153.109, server:www.itsvse.com, richiesta: "GET /forum.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "www.itsvse.com"
Imposta i parametri worker_rlimit_nofile come segue:
Documentazione:Il login del link ipertestuale è visibile.
(Fine)
|