O programa do site é desenvolvido por asp.net núcleo, o navegador solicita uma página, e o servidor precisa passar pelo proxy reverso nginx para o programa .NET para processar, e durante o teste de estresse, ele reportará um erro 503:
Serviço 503 Temporariamente Indisponível 503 é um código de status HTTP devido aManutenção temporária ou sobrecarga do servidor, o servidor atualmente não consegue processar solicitações。 Essa condição é temporária e será restaurada após algum tempo.
De modo geral, o erro 503 se deve principalmente ao grande número de visitas ao site, resultando em um erro causado por tráfego excessivo ou um grande número de concorrências.
De acordo com a análise do princípio do cano, há muitos fatores que causam gargalos de desempenho; primeiro, a referência de ajuste do Linux é a seguinte:
Por meio de ferramentas profissionais de teste de pressão, os resultados do teste de pressão são os seguintes:
Afinação Nginx
worker_processes Configurado para Automático, da seguinte forma:
Deixe o nginx se ajustar automaticamente às suas necessidades.
Os cenários dos eventos são os seguintes:
Use o modo epoll para aumentar o número de conexões concorrentes, aumentar a capacidade de conexão concorrente do sistema nginx e definir o número máximo de conexões que podem ser abertas pelos trabalhadores ao mesmo tempo. Introdução ao Documento:O login do hiperlink está visível.
Após a ajustagem, o teste de pressão é realizado e não há mais erro 503, como mostrado na figura abaixo:
Se você usar um proxy reverso nginx para encaminhar para php-fpm, pode receber o seguinte erro:
2022/01/16 16:08:01 [crítico] 968#0: *12955 open() "/alidata/www/itsvse_web/50x.html" falhou (24: Muitos arquivos abertos), cliente: 100.116.153.2, servidor:www.itsvse.com, solicitação: "GET /forum.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "www.itsvse.com" 2022/01/16 16:08:01 [alerta] 968#0: *12956 socket() falhou (24: Arquivos abertos demais) ao conectar ao upstream, cliente: 100.116.153.109, servidor:www.itsvse.com, solicitação: "GET /forum.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "www.itsvse.com" 2022/01/16 16:08:01 [crítico] 968#0: *12956 open() "/alidata/www/itsvse_web/50x.html" falhou (24: Muitos arquivos abertos), cliente: 100.116.153.109, servidor:www.itsvse.com, solicitação: "GET /forum.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "www.itsvse.com"
Defina os parâmetros worker_rlimit_nofile da seguinte forma:
Documentação:O login do hiperlink está visível.
(Fim)
|