Програмата на уебсайта се разработва от asp.net core, браузърът заявява страница, а сървърът трябва да премине през nginx reverse proxy към .NET програмата, за да обработи, и по време на стрес теста ще отчете грешка 503:
Услуга 503 временно недостъпна 503 е HTTP статус код порадиВременна поддръжка на сървъра или претоварване, сървърът в момента не може да обработва заявки。 Това състояние е временно и ще бъде възстановено след известно време.
Общо взето, грешката 503 се дължи главно на големия брой посещения на уебсайта, което води до грешка, причинена от прекомерен трафик или голям брой паралелни маршрути.
Според анализа на принципа на бъчвата, има много фактори, които причиняват тесни места в производителността, първо, референтната линия за настройка на Linux е следната:
Чрез професионални инструменти за тестване под налягане резултатите от теста са следните:
Настройка Nginx
worker_processes Настроете се на автоматично, както следва:
Нека nginx автоматично се адаптира според вашите нужди.
Местата на събитията е както следва:
Използвайте epoll режим, за да увеличите броя на паралелните връзки, да увеличите капацитета на съвместната връзка на nginx системата и да зададете максималния брой връзки, които работниците могат да отворят едновременно. Въведение в документа:Входът към хиперлинк е видим.
След настройката се извършва тестът за налягане и няма повече грешка 503, както е показано на фигурата по-долу:
Ако използвате nginx обратен прокси за препращане към php-fpm, може да получите следната грешка:
2022/01/16 16:08:01 [критичен удар] 968#0: *12955 open() "/alidata/www/itsvse_web/50x.html" се провали (24: Твърде много отворени файлове), клиент: 100.116.153.2, сървър:www.itsvse.com, заявка: "GET /forum.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", хост: "www.itsvse.com" 2022/01/16 16:08:01 [внимание] 968#0: *12956 socket() се провали (24: Твърде много отворени файлове) при свързване към upstream, клиент: 100.116.153.109, сървър:www.itsvse.com, заявка: "GET /forum.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", хост: "www.itsvse.com" 2022/01/16 16:08:01 [критичен] 968#0: *12956 open() "/alidata/www/itsvse_web/50x.html" се провали (24: Твърде много отворени файлове), клиент: 100.116.153.109, сървър:www.itsvse.com, заявка: "GET /forum.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", хост: "www.itsvse.com"
Задайте worker_rlimit_nofile параметрите по следния начин:
Документация:Входът към хиперлинк е видим.
(Край)
|