diff --git a/docs/pt-br/performance.md b/docs/pt-br/performance.md index 3d6ec85c9..feb151561 100644 --- a/docs/pt-br/performance.md +++ b/docs/pt-br/performance.md @@ -60,7 +60,7 @@ A variante Alpine Linux das imagens oficiais do Docker e os binários padrão qu fornecemos usam [a biblioteca C musl](https://musl.libc.org). O PHP é conhecido por ser -[mais lento](https://gitlab.alpinux.org/alpine/aports/-/issues/14381) +[mais lento](https://gitlab.alpinelinux.org/alpine/aports/-/issues/14381) ao usar esta biblioteca C alternativa em vez da biblioteca GNU tradicional, especialmente quando compilado no modo ZTS (thread-safe), necessário para o FrankenPHP. A diferença pode ser significativa em um ambiente com muitas threads. diff --git a/docs/ru/performance.md b/docs/ru/performance.md index 01b347956..d79e10109 100644 --- a/docs/ru/performance.md +++ b/docs/ru/performance.md @@ -14,7 +14,7 @@ ### `max_threads` -Хотя всегда лучше точно знать, как будет выглядеть ваш трафик, реальные приложения, как правило, более непредсказуемы. [Конфигурация](config.md#kонфигурация-caddyfile) `max_threads` позволяет FrankenPHP автоматически создавать дополнительные потоки во время выполнения до указанного предела. `max_threads` может помочь вам определить, сколько потоков требуется для обработки вашего трафика, и может сделать сервер более устойчивым к скачкам задержки. Если установлено значение `auto`, лимит будет оценен на основе `memory_limit` в вашем `php.ini`. Если это невозможно, `auto` вместо этого будет по умолчанию равно 2x `num_threads`. Имейте в виду, что `auto` может сильно недооценивать необходимое количество потоков. `max_threads` похожа на [pm.max_children](https://www.php.net/manual/en/install.fpm.configuration.php#pm.max-children) в PHP FPM. Основное отличие состоит в том, что FrankenPHP использует потоки вместо процессов и автоматически распределяет их между различными скриптами воркеров и 'классическим режимом' по мере необходимости. +Хотя всегда лучше точно знать, как будет выглядеть ваш трафик, реальные приложения, как правило, более непредсказуемы. [Конфигурация](config.md#конфигурация-caddyfile) `max_threads` позволяет FrankenPHP автоматически создавать дополнительные потоки во время выполнения до указанного предела. `max_threads` может помочь вам определить, сколько потоков требуется для обработки вашего трафика, и может сделать сервер более устойчивым к скачкам задержки. Если установлено значение `auto`, лимит будет оценен на основе `memory_limit` в вашем `php.ini`. Если это невозможно, `auto` вместо этого будет по умолчанию равно 2x `num_threads`. Имейте в виду, что `auto` может сильно недооценивать необходимое количество потоков. `max_threads` похожа на [pm.max_children](https://www.php.net/manual/en/install.fpm.configuration.php#pm.max-children) в PHP FPM. Основное отличие состоит в том, что FrankenPHP использует потоки вместо процессов и автоматически распределяет их между различными скриптами воркеров и 'классическим режимом' по мере необходимости. ## Режим воркера @@ -65,7 +65,7 @@ php_server { ```caddyfile php_server { try_files {path} index.php - root /root/to/your/app # explicitly adding the root here allows for better caching + root /root/to/your/app # явное указание корневой директории здесь обеспечивает лучшее кеширование } ``` @@ -73,16 +73,16 @@ php_server { ```caddyfile route { - php_server { # use "php" instead of "php_server" if you don't need the file server at all + php_server { # используйте "php" вместо "php_server", если вам вообще не нужен файловый сервер root /root/to/your/app worker /path/to/worker.php { - match * # send all requests directly to the worker + match * # отправить все запросы напрямую воркеру } } } ``` -Альтернативный подход с 0 ненужных операций файловой системы заключается в использовании директивы `php` и разделении файлов от PHP по пути. Этот подход хорошо работает, если все ваше приложение обслуживается одним входным файлом. Пример [конфигурации](config.md#kонфигурация-caddyfile), которая обслуживает статические файлы за папкой `/assets`, может выглядеть так: +Альтернативный подход с 0 ненужных операций файловой системы заключается в использовании директивы `php` и разделении файлов от PHP по пути. Этот подход хорошо работает, если все ваше приложение обслуживается одним входным файлом. Пример [конфигурации](config.md#конфигурация-caddyfile), которая обслуживает статические файлы за папкой `/assets`, может выглядеть так: ```caddyfile route { @@ -90,15 +90,15 @@ route { path /assets/* } - # everything behind /assets is handled by the file server + # всё, что находится за /assets, обрабатывается файловым сервером file_server @assets { root /root/to/your/app } - # everything that is not in /assets is handled by your index or worker PHP file + # всё, что не находится в /assets, обрабатывается вашим индексным или воркер PHP-файлом rewrite index.php php { - root /root/to/your/app # explicitly adding the root here allows for better caching + root /root/to/your/app # явное указание корневой директории здесь обеспечивает лучшее кеширование } } ``` @@ -145,16 +145,16 @@ FrankenPHP использует официальный интерпретато ```caddyfile example.com { php_server { - root /app/public # the root of your application + root /app/public # корень вашего приложения worker index.php { - match /slow-endpoint/* # all requests with path /slow-endpoint/* are handled by this thread pool - num 1 # minimum 1 threads for requests matching /slow-endpoint/* - max_threads 20 # allow up to 20 threads for requests matching /slow-endpoint/*, if needed + match /slow-endpoint/* # все запросы к /slow-endpoint/* обрабатываются этим пулом потоков + num 1 # минимум 1 поток для запросов к /slow-endpoint/* + max_threads 20 # при необходимости разрешить до 20 потоков для запросов к /slow-endpoint/* } worker index.php { - match * # all other requests are handled separately - num 1 # minimum 1 threads for other requests, even if the slow endpoints start hanging - max_threads 20 # allow up to 20 threads for other requests, if needed + match * # все остальные запросы обрабатываются отдельно + num 1 # минимум 1 поток для остальных запросов, даже если медленные конечные точки начинают зависать + max_threads 20 # при необходимости разрешить до 20 потоков для остальных запросов } } }