Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 6864|Отговор: 4

Практическа оптимизация на конкурентността на HTTP заявка на Nginx

[Копирай линк]
Публикувано в 16.01.2022 г. 13:46:40 ч. | | | |
Програмата на уебсайта се разработва от asp.net core, браузърът заявява страница, а сървърът трябва да премине през nginx reverse proxy към .NET програмата, за да обработи, и по време на стрес теста ще отчете грешка 503:

Услуга 503 временно недостъпна

503 е HTTP статус код порадиВременна поддръжка на сървъра или претоварване, сървърът в момента не може да обработва заявки。 Това състояние е временно и ще бъде възстановено след известно време.

Общо взето, грешката 503 се дължи главно на големия брой посещения на уебсайта, което води до грешка, причинена от прекомерен трафик или голям брой паралелни маршрути.

Според анализа на принципа на бъчвата, има много фактори, които причиняват тесни места в производителността, първо, референтната линия за настройка на Linux е следната:

Linux (CentOS) ограничава настройката на производителността на сървъра
https://www.itsvse.com/thread-10134-1-1.html

Чрез професионални инструменти за тестване под налягане резултатите от теста са следните:

.NET/C# Load Test NBomber Прост урок
https://www.itsvse.com/thread-9993-1-1.html



Настройка 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 параметрите по следния начин:



Документация:Входът към хиперлинк е видим.

(Край)





Предишен:Разликата и връзката между Ubuntu, CentOS и RedHat
Следващ:Изтегляне на инструмента за управление на база данни OceanBase
Публикувано в 16.01.2022 г. 21:02:14 ч. |
Ела и учи отново
Публикувано в 24.01.2022 г. 11:18:47 ч. |
Научих го, благодаря
 Хазяин| Публикувано в 30.03.2023 г. 10:01:36 ч. |
nginx:413 Заявка за ентитет е твърде голям
https://www.itsvse.com/thread-10545-1-1.html
 Хазяин| Публикувано в 30.03.2023 г. 10:01:45 ч. |
Nginx добавя активиран протокол HTTP/2
https://www.itsvse.com/thread-10307-1-1.html
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com