Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 6864|Відповідь: 4

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

[Копіювати посилання]
Опубліковано 16.01.2022 13:46:40 | | | |
Веб-програму розробляє asp.net core, браузер запитує сторінку, і сервер має пройти через зворотний проксі nginx до .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 відкрито() "/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 сокет() вийшов з ладу (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