.user.ini - замена .htaccess в FastCGI и php-fpm

Сие опубликовал в день года

Файл .user.ini может служить заменой файла .htaccess для управления настройками php при использовании FastCGI или php-fpm и веб-сервера nginx. Такая возможность появилась в php начиная с версии 5.3.

Если директива для .htaccess выглядит так:

php_value memory_limit 64M

то запись в файле .user.ini полностью аналогична записи в файле php.ini:

memory_limit = 64M

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

  • PHP_INI_USER - которые можно указывать в пользовательских скриптах и файле .user.ini.
  • PHP_INI_PERDIR - которые можно указывать в файлах php.ini, .htaccess, httpd.conf или .user.ini.

Файлы .user.ini ищутся в директории сайта ($_SERVER['DOCUMENT_ROOT']) и во вложенных директориях.

Для управления файлом с пользовательскими настройками есть две директивы:

  • user_ini.filename - позволяет задать имя файла с пользовательскими настройками либо отключить их поиск если задать пустое значение.
  • user_ini.cache_ttl - задает время через которое будет перечитано содержимое файлов .user.ini. По умолчанию данное время составляет 300 секунд.

Оптимизация Nginx: параметры sendfile, tcp_nodelay и tcp_nopush

Сие опубликовал в день года

Большинство статей про оптимизацию производительности Nginx рекомендуют использовать параметры sendfile, tcp_nodelay и tcp_nopush в конфигурационном файле nginx.conf. Но, к сожалению, они не говорят ни о том как эти параметры влияют на веб-сервер, ни о том как они работают.

tcp_nodelay

Как мы можем заставить сокет отправлять данные в его буфер? Решение лежит в использовании опции TCP_NODELAY в стеке TCP. Активация TCP_NODELAY заставляет сокет отправлять данные в буфер вне зависимости от размера пакета. Опция tcp_nodelay в настройках Nginx добавляет опцию TCP_NODELAY при открытии нового сокета.

Чтобы избежать перегруженности сети стек TCP реализует механизм который ожидает данные в течение 0,2 секунды вследствие чего слишком маленький пакет не будет отправлен. Этот механизм обеспечивается алгоритмом Нейгла и 200 миллисекунд - это значение в UNIX реализации.

Чтобы понять назначение алгоритма Нейгла вам необходимо помнить что интернет используется не только для отправки... Читать целиком.

Наверх