pcre_jit

Директива `pcre_jit` включает или отключает JIT-компиляцию (Just-In-Time) для регулярных выражений PCRE в NGINX.

Синтаксисpcre_jit on | off;
По умолчаниюoff
Контекстmain
Аргументыflag

Описание

Директива pcre_jit управляет использованием JIT-компиляции (Just-In-Time) для регулярных выражений, обрабатываемых с помощью библиотеки PCRE (Perl Compatible Regular Expressions). Когда JIT включена, регулярные выражения преобразуются в нативный машинный код для повышения производительности при сопоставлении шаблонов, что может существенно ускорить обработку запросов, зависящих от регулярных выражений при сопоставлении location или в директивах сервера.

Эта директива доступна в контексте main и может быть установлена в значение on или off. По умолчанию JIT-компиляция отключена (off). Однако при включении она может повысить эффективность операций NGINX, использующих регулярные выражения, особенно при высокой нагрузке. Важно убедиться, что установленная в системе библиотека PCRE поддерживает JIT-компиляцию, так как не все сборки PCRE включают эту возможность.

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

Пример конфига

pcre_jit on;

JIT-компиляция может увеличить потребление памяти из-за хранения скомпилированных шаблонов.

Убедитесь, что установленная библиотека PCRE поддерживает JIT; в противном случае JIT не будет включён, несмотря на то, что директива установлена в 'on'.

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

← Ко всем директивам