mirror of
https://github.com/php/frankenphp.git
synced 2026-03-24 00:52:11 +01:00
docs: explicitly explain how to use without worker mode (#1275)
This commit is contained in:
@@ -60,7 +60,8 @@ frankenphp php-cli /path/to/your/script.php
|
||||
|
||||
## Docs
|
||||
|
||||
* [The worker mode](https://frankenphp.dev/docs/worker/)
|
||||
* [Classic mode](https://frankenphp.dev/docs/classic/)
|
||||
* [Worker mode](https://frankenphp.dev/docs/worker/)
|
||||
* [Early Hints support (103 HTTP status code)](https://frankenphp.dev/docs/early-hints/)
|
||||
* [Real-time](https://frankenphp.dev/docs/mercure/)
|
||||
* [Configuration](https://frankenphp.dev/docs/config/)
|
||||
|
||||
9
docs/classic.md
Normal file
9
docs/classic.md
Normal file
@@ -0,0 +1,9 @@
|
||||
# Using Classic Mode
|
||||
|
||||
Without any additional configuration, FrankenPHP operates in classic mode. In this mode, FrankenPHP functions like a traditional PHP server, directly serving PHP files. This makes it a seamless drop-in replacement for PHP-FPM or Apache with mod_php.
|
||||
|
||||
Similar to Caddy, FrankenPHP accepts an unlimited number of connections and uses a [fixed number of threads](config.md#caddyfile-config) to serve them. The number of accepted and queued connections is limited only by the available system resources. The PHP thread pool operates with a fixed number of threads initialized at startup, comparable to the static mode of PHP-FPM.
|
||||
|
||||
Queued connections will wait indefinitely until a PHP thread is available to serve them. To prevent that, set a reasonable [write timeout in Caddy](https://caddyserver.com/docs/caddyfile/options#timeouts).
|
||||
|
||||
Each Caddy instance will only spin up one FrankenPHP thread pool, which will be shared across all `php_server` blocks.
|
||||
@@ -8,7 +8,7 @@ However, it is possible to substantially improve performance using an appropriat
|
||||
By default, FrankenPHP starts 2 times more threads and workers (in worker mode) than the available numbers of CPU.
|
||||
|
||||
The appropriate values depend heavily on how your application is written, what it does and your hardware.
|
||||
We strongly recommend changing these values.
|
||||
We strongly recommend changing these values. For best system stability, it is recommended to have `num_threads` x `memory_limit` < `available_memory`.
|
||||
|
||||
To find the right values, it's best to run load tests simulating real traffic.
|
||||
[k6](https://k6.io) and [Gatling](https://gatling.io) are good tools for this.
|
||||
|
||||
Reference in New Issue
Block a user