Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 6864|Odpověď: 4

Praktická optimalizace souběžnosti HTTP požadavků Nginx

[Kopírovat odkaz]
Zveřejněno 16.01.2022 13:46:40 | | | |
Webové prostředí vyvíjí asp.net core, prohlížeč požaduje stránku a server musí projít reverzním proxy nginx do .NET programu, aby to zpracoval, a během zátěžového testu nahlásí chybu 503:

Služba 503 je dočasně nedostupná

503 je HTTP stavový kód kvůliDočasná údržba serveru nebo přetížení, server momentálně není schopen zpracovávat požadavky。 Tento stav je dočasný a po nějaké době se obnoví.

Obecně platí, že chyba 503 je způsobena především velkým počtem návštěv webu, což vede k chybě způsobené nadměrnou návštěvností nebo velkým počtem souběžnosti.

Podle analýzy principu barrel existuje mnoho faktorů, které způsobují úzká místa ve výkonu, především je odkaz na ladění Linuxu následující:

Linux (CentOS) omezuje ladění výkonu serveru
https://www.itsvse.com/thread-10134-1-1.html

Díky profesionálním nástrojům pro tlakové testování jsou výsledky tlakových zkoušek následující:

.NET/C# Load Test NBomber Jednoduchý tutoriál
https://www.itsvse.com/thread-9993-1-1.html



Nginx ladění

worker_processes Nastaveno na automatické, následovně:

Nechte nginx automaticky přizpůsobit se vašim potřebám.

Nastavení událostí je následující:

Použijte epoll režim ke zvýšení počtu souběžných připojení, zvýšení kapacity souběžného připojení systému nginx a nastavení maximálního počtu připojení, které mohou pracovníci otevřít současně. Úvod do dokumentu:Přihlášení k hypertextovému odkazu je viditelné.

Po ladění se provádí tlaková zkouška a chyba 503 již neexistuje, jak je znázorněno na obrázku níže:


Pokud použijete nginx reverse proxy pro přesměrování do php-fpm, můžete dostat následující chybu:

2022/01/16 16:08:01 [kritický zásah] 968#0: *12955 open() "/alidata/www/itsvse_web/50x.html" neúspěšný (24: Příliš mnoho otevřených souborů), klient: 100.116.153.2, server:www.itsvse.com, požadavek: "GET /forum.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", hostitel: "www.itsvse.com"
2022/01/16 16:08:01 [upozornění] 968#0: *12956 socket() selhalo (24: Příliš mnoho otevřených souborů) při připojení k upstream klientu: 100.116.153.109, server:www.itsvse.com, požadavek: "GET /forum.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", hostitel: "www.itsvse.com"
2022/01/16 16:08:01 [kritický zásah] 968#0: *12956 open() "/alidata/www/itsvse_web/50x.html" neúspěšně (24: Příliš mnoho otevřených souborů), klient: 100.116.153.109, server:www.itsvse.com, požadavek: "GET /forum.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", hostitel: "www.itsvse.com"



Nastavte worker_rlimit_nofile parametry následovně:



Dokumentace:Přihlášení k hypertextovému odkazu je viditelné.

(Konec)





Předchozí:Rozdíl a propojení mezi Ubuntu, CentOS a RedHatem
Další:Nástroj pro správu databáze OceanBase ke stažení
Zveřejněno 16.01.2022 21:02:14 |
Přijď a uč se znovu
Zveřejněno 24.01.2022 11:18:47 |
Naučil jsem se to, děkuji
 Pronajímatel| Zveřejněno 30.03.2023 10:01:36 |
nginx:413 Požadavek entita příliš velká
https://www.itsvse.com/thread-10545-1-1.html
 Pronajímatel| Zveřejněno 30.03.2023 10:01:45 |
Nginx přidává povolený protokol HTTP/2
https://www.itsvse.com/thread-10307-1-1.html
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com