Le programme du site web est développé par asp.net noyau, le navigateur demande une page, et le serveur doit passer par le proxy inverse nginx vers le programme .NET pour être traité, et pendant le test de résistance, il signalera une erreur 503 :
Service 503 temporairement indisponible 503 est un code d’état HTTP en raison deMaintenance temporaire ou surcharge du serveur, le serveur est actuellement incapable de traiter les requêtes。 Cette condition est temporaire et sera rétablie après un certain temps.
De manière générale, l’erreur 503 est principalement due au grand nombre de visites sur le site web, ce qui entraîne une erreur due à un trafic excessif ou à un grand nombre de concurrents.
Selon l’analyse du principe du canon, de nombreux facteurs causent des goulets d’étranglement en performance, tout d’abord, la référence de réglage Linux est la suivante :
Grâce à des outils professionnels de test de pression, les résultats sont les suivants :
Accordage Nginx
worker_processes réglé sur automatique, comme suit :
Laissez nginx s’adapter automatiquement à vos besoins.
Les décors des événements sont les suivants :
Utilisez le mode epoll pour augmenter le nombre de connexions concurrentes, augmenter la capacité de connexion concurrente du système nginx, et définir le nombre maximal de connexions pouvant être ouvertes simultanément par les travailleurs. Introduction au document :La connexion hyperlientérée est visible.
Après l’accordage, le test de pression est effectué, et il n’y a plus d’erreur 503, comme montré dans la figure ci-dessous :
Si vous utilisez un proxy inverse nginx pour transférer en php-fpm, vous pouvez obtenir l’erreur suivante :
2022/01/16 16:08:01 [crit] 968#0 : *12955 open() « /alidata/www/itsvse_web/50x.html » échoué (24 : Trop de fichiers ouverts), client : 100.116.153.2, serveur :www.itsvse.com, demande : « GET /forum.php HTTP/1.1 », en amont : « fastcgi://127.0.0.1:9000 », hôte : « www.itsvse.com » 2022/01/16 16:08:01 [alerte] 968#0 : *12956 socket() échoué (24 : Trop de fichiers ouverts) lors de la connexion à l’upstream, client : 100.116.153.109, serveur :www.itsvse.com, demande : « GET /forum.php HTTP/1.1 », en amont : « fastcgi://127.0.0.1:9000 », hôte : « www.itsvse.com » 2022/01/16 16:08:01 [critique] 968#0 : *12956 ouvert() « /alidata/www/itsvse_web/50x.html » échoué (24 : Trop de fichiers ouverts), client : 100.116.153.109, serveur :www.itsvse.com, demande : « GET /forum.php HTTP/1.1 », en amont : « fastcgi://127.0.0.1:9000 », hôte : « www.itsvse.com »
Définissez les paramètres worker_rlimit_nofile comme suit :
Documentation:La connexion hyperlientérée est visible.
(Fin)
|