8 способов настроить производительность NGINX в Linux

Если вы хотите использовать NGINX в полной мере, вам необходимо повозиться с его файлами конфигурации и установить параметры, которые оптимизируют производительность сервера.

NGINX — популярный, бесплатный веб-сервер с открытым исходным кодом. Конфигурации NGINX по умолчанию достаточно хороши для работы веб-сервера.

Однако, если вы хотите использовать NGINX на полную мощность, вам необходимо повозиться с его конфигурационными файлами и установить параметры, которые оптимизируют производительность сервера. Вы найдете файлы конфигурации в каталоге /etc/nginx на вашем компьютере с Linux.

1. Настройте рабочие процессы в NGINX.

Архитектура NGINX состоит из главного процесса и нескольких рабочих процессов. Задача главного процесса — оценивать конфигурацию и управлять рабочими процессами. С другой стороны, роль рабочего процесса — обрабатывать входящие запросы и создавать соединение между клиентом и сервером.

По умолчанию для параметра прогресса установлено значение «авто». Это устанавливает количество рабочих процессов, равное количеству доступных ядер ЦП. Чтобы узнать, сколько ядер ЦП в вашей системе, выполните следующую команду:

процессор grep /proc/cpuinfo | туалет -л

Если вы хотите увеличить количество рабочих процессов, вам нужно сделать это в файле конфигурации NGINX.

Откройте файл с помощью nano:

нано и т. д./nginx/nginx.conf

Чтобы настроить больше рабочих процессов, измените значение по умолчанию на максимальное количество доступных ядер ЦП в вашей системе.

8 способов настроить производительность NGINX в Linux. Изображение 1

2. Настройте рабочие соединения

Еще один параметр, который вы можете изменить для повышения производительности NGINX, — это рабочие соединения. Это максимальное количество TCP-соединений, которые каждый рабочий процесс может обрабатывать одновременно.

В большинстве систем по умолчанию установлено значение 512 соединений, но многие современные системы поддерживают и большие числа. Вы можете проверить, сколько соединений поддерживает ваша система:

улимит -n

Результатом будет максимальное количество поддерживаемых соединений. Затем вы можете изменить переменную worker_connections в файле конфигурации NGINX, чтобы повысить производительность.

3. Включите сжатие GZIP в NGINX.

NGINX использует GZIP для сжатия и распаковки файлов. Если эта опция включена в файле конфигурации NGINX, вы можете сэкономить пропускную способность и увеличить время загрузки веб-сайта при медленных соединениях.

Чтобы включить сжатие GZIP, добавьте в файл конфигурации NGINX следующие строки:

сервер { gzip on; gzip_vary включен; gzip_min_length 10240; Срок действия gzip_proxied истек, нет кэша, нет хранилища, частная аутентификация; gzip_types text/plain text/css text/xml text/javascript application/x-javascript application/xml; gzip_disable “MSIE (1-6).”; }

8 способов настроить производительность NGINX в Linux. Изображение 2.

4. Ограничить значение таймаута в NGINX.

Уменьшение значений таймаута также играет важную роль в повышении производительности NGINX. Постоянные соединения уменьшают нагрузку на процессор и сеть при открытии и закрытии соединений.

Вы можете изменить следующие параметры в файле конфигурации, чтобы ограничить таймауты:

HTTP {client_body_timeout 12; client_header_timeout 12; Keepalive_timeout 15; send_timeout 10; }

5. Отрегулируйте размер буфера.

Вы также можете настроить буферы NGINX для оптимизации производительности сервера. Если размер буфера слишком мал, NGINX будет записывать во временный файл, что приведет к непрерывному выполнению больших операций ввода-вывода.

Для лучшей работы NGINX вам необходимо установить следующие параметры буфера:

http { client_body_buffer_size 10 КБ; client_header_buffer_size 1 КБ; client_max_body_size 8m; big_client_header_buffers 4 4k; }

6. Отключите журналы доступа или включите кэширование журналов доступа.

Журналы занимают большое количество дискового пространства и циклов ЦП/IO, что может повлиять на производительность сервера, если он регистрирует каждый запрос.

Вы можете отключить журналы доступа, что сэкономит место на диске и процессорную обработку. Чтобы отключить журналы доступа, добавьте в файл конфигурации NGINX следующую строку:

access_log выключен;

Журналы важны, поскольку они помогают устранять проблемы. Полное отключение журналов — не очень хорошая вещь. В этом случае вы можете включить кэширование журнала доступа. Это позволит NGINX кэшировать пакет журналов и сразу помещать их в файл журнала, вместо того, чтобы применять разные операции с журналами к каждому запросу.

Добавьте следующую строку в файл конфигурации NGINX, чтобы включить кэширование журнала доступа:

access_log /var/log/nginx/access.log основной буфер = 16 КБ

7. Настройте время кэширования статического контента в NGINX.

Содержимое веб-сайта, которое не меняется на разных страницах, называется статическим контентом. Кэширование этого контента позволяет размещать его в легкодоступных местах. Этот механизм снижает использование полосы пропускания, обеспечивает быстрый доступ и впоследствии повышает производительность веб-сайта.

Когда клиент запрашивает статический контент, сервер предоставляет кэшированную версию контента. Добавьте следующие строки в файл виртуальных хостов, расположенный в каталоге /etc/nginx/sites-available:

location ~* .(jpg|jpeg|png|gif|ico|css|js)$ { истекает 90d; }

Эта конфигурация будет кэшировать файлы в течение 90 дней с момента последнего доступа к браузеру.

8. Включите кэш открытых файлов в NGINX.

Вы также можете использовать параметры Open File Cache в файле конфигурации NGINX, чтобы повысить его производительность. Эта директива позволяет кэшировать на сервере дескрипторы файлов и часто используемые файлы.

Добавьте следующие строки в раздел http файла конфигурации, чтобы включить Open File Cache:

http { open_file_cache max=1024 неактивно=10с; open_file_cache_valid 60 с; open_file_cache_min_uses 2; open_file_cache_errors включен; }

Хорошей практикой при изменении конфигурации является проработка каждого параметра один за другим и его тестирование. Если все работает, переходите к следующей установке. Если нет, вы всегда можете изменить конфигурацию обратно на значения по умолчанию.

Изменяя параметры, настроенные в файлах конфигурации NGINX, таких как nginx.conf и файлы виртуального хоста, вы можете взломать NGINX и добиться максимальной производительности.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *