
рдпреИрдВрдбреЗрдХреНрд╕ рдЯреИрдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдПрдХ рдЖрд╡реЗрджрди рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд┐рдореНрдлрдиреА 4 рдФрд░ PHP 7.2 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рд▓рдХреНрд╖реНрдп рд╡рд┐рднрд┐рдиреНрди рднрд╛рд░реЛрдВ рдореЗрдВ рд╕реЗрд╡рд╛рдУрдВ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рдирд╛ рдФрд░ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рдЦреЛрдЬрдирд╛ рдерд╛ред
рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, рдбреЙрдХрдЯрд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ рд╕рдм рдХреБрдЫ рдПрдХрддреНрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдбреЙрдХрдЯрд░-рдХрдВрдкреЛрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдард╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдПрдХ рдмрд┐рд▓реНрд▓реА рдХреЗ рдиреАрдЪреЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЯреЗрдмрд▓ рдФрд░ рдЧреНрд░рд╛рдл рд╣реИрдВред
рд╕реНрд░реЛрдд рдХреЛрдб рдпрд╣рд╛рдБ рд╣реИ
рд▓реЗрдЦ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдЖрджреЗрд╢реЛрдВ рдХреЗ рд╕рднреА рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЖрд╡реЗрджрди
рдЖрд╡реЗрджрди рд╕рд┐рдореНрдлрдиреА 4 рдФрд░ рдкреАрдПрдЪрдкреА 7.2 рдкрд░ рдЪрд▓рддрд╛ рд╣реИред
рдХреЗрд╡рд▓ рдПрдХ рд╣реА рдорд╛рд░реНрдЧ рдХрд╛ рдЙрддреНрддрд░ рдФрд░ рд░рд┐рдЯрд░реНрди:
- рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛;
- рдкрд░реНрдпрд╛рд╡рд░рдг;
- рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рдЦрд╝рдмрд░;
- рдЙрд╕ рд╕реЗрд╡рд╛ рдХрд╛ рдирд╛рдо рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ;
- php.ini рдЪрд░ред
рдЙрддреНрддрд░ рдЙрджрд╛рд╣рд░рдг:
curl 'http://127.0.0.1:8000/' | python -m json.tool { "env": "prod", "type": "php-fpm", "pid": 8, "random_num": 37264, "php": { "version": "7.2.12", "date.timezone": "Europe/Paris", "display_errors": "", "error_log": "/proc/self/fd/2", "error_reporting": "32767", "log_errors": "1", "memory_limit": "256M", "opcache.enable": "1", "opcache.max_accelerated_files": "20000", "opcache.memory_consumption": "256", "opcache.validate_timestamps": "0", "realpath_cache_size": "4096K", "realpath_cache_ttl": "600", "short_open_tag": "" } }
PHP рдкреНрд░рддреНрдпреЗрдХ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
Stderr рдореЗрдВ рд▓реЙрдЧ рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВ:
/config/packages/prod/monolog.yaml
monolog: handlers: main: type: stream path: "php://stderr" level: error console: type: console
рдХреИрд╢ рдХреЛ / dev / shm рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ:
/src/Kernel.php
... class Kernel extends BaseKernel { public function getCacheDir() { if ($this->environment === 'prod') { return '/dev/shm/symfony-app/cache/' . $this->environment; } else { return $this->getProjectDir() . '/var/cache/' . $this->environment; } } } ...
рдкреНрд░рддреНрдпреЗрдХ рдбреЙрдХрдЯрд░-рдХрдВрдкреЛрдЬ рдиреЗ рддреАрди рдореБрдЦреНрдп рдХрдВрдЯреЗрдирд░ рд▓реЙрдиреНрдЪ рдХрд┐рдП:
- Nginx - рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡рд░;
- рдРрдк - рд╕рднреА рдЖрд╢реНрд░рд┐рддреЛрдВ рдХреЗ рд╕рд╛рде рддреИрдпрд╛рд░ рдЖрд╡реЗрджрди рдХреЛрдб;
- PHP FPM \ Nginx Unit \ Road Runner \ React PHP - рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд░реНрд╡рд░ред
рдЕрдиреБрд░реЛрдз рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рджреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрдВрд╕реНрдЯреЗрдВрд╕ (рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛрд░ рдХреА рд╕рдВрдЦреНрдпрд╛) рддрдХ рд╕реАрдорд┐рдд рд╣реИред
рд╕реЗрд╡рд╛рдПрдВ
PHP рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреНрд░рдмрдВрдзрдХред рд╕реАред рдореЗрдВ рд▓рд┐рдЦрд╛ред
рдкреЗрд╢реЗрд╡рд░реЛрдВ:
- рд╕реНрдореГрддрд┐ рдХрд╛ рдЯреНрд░реИрдХ рд░рдЦрдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ;
- рдЖрд╡реЗрджрди рдореЗрдВ рдХреБрдЫ рднреА рдмрджрд▓рдиреЗ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИред
рд╡рд┐рдкрдХреНрд╖:
- PHP рдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП рдЪрд░ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдбреЙрдХрдЯрд░-рдХрдВрдкреЛрдЬрд╝ рдХреЗ рд╕рд╛рде рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреА рдХрдорд╛рди:
cd docker/php-fpm && docker-compose up -d
PHP рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреНрд░рдмрдВрдзрдХред рдпрд╣ PHP рдореЗрдВ рд▓рд┐рдЦрд╛ рд╣реИред
рдкреЗрд╢реЗрд╡рд░реЛрдВ:
- рдЪрд░ рдХреЛ рдПрдХ рдмрд╛рд░ рдЖрд░рдВрдн рдХрд░рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ;
- рдЖрд╡реЗрджрди рдореЗрдВ рдХреБрдЫ рднреА рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ (рд╕рд┐рдореНрдлрдиреА / рд▓рд╛рд░рд╡реЗрд▓, рдЬрд╝реЗрдВрдб, рдХреЗрдХрдкреАрдПрдЪрдкреА рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдореЙрдбреНрдпреВрд▓ рд╣реИрдВ)ред
рд╡рд┐рдкрдХреНрд╖:
- рд╕реНрдореГрддрд┐ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред
рдбреЙрдХрдЯрд░-рдХрдВрдкреЛрдЬрд╝ рдХреЗ рд╕рд╛рде рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреА рдХрдорд╛рди:
cd docker/php-ppm && docker-compose up -d
Nginx рдЯреАрдо рд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд░реНрд╡рд░ред рд╕реАред рдореЗрдВ рд▓рд┐рдЦрд╛ред
рдкреЗрд╢реЗрд╡рд░реЛрдВ:
- рдЖрдк HTTP рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ;
- рдЖрдк рд╡рд┐рднрд┐рдиреНрди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдФрд░ рднрд╛рд╖рд╛ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╛рде рдХрдИ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ;
- рд╕реНрдореГрддрд┐ рдХрд╛ рдЯреНрд░реИрдХ рд░рдЦрдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ;
- рдЖрд╡реЗрджрди рдореЗрдВ рдХреБрдЫ рднреА рдмрджрд▓рдиреЗ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИред
рд╡рд┐рдкрдХреНрд╖:
- PHP рдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП рдЪрд░ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
Nginx- рдпреВрдирд┐рдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ php.ini рдХреЛ рдареАрдХ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
; Nginx Unit variables_order=E
рдбреЙрдХрдЯрд░-рдХрдВрдкреЛрдЬрд╝ рдХреЗ рд╕рд╛рде рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреА рдХрдорд╛рди:
cd docker/nginx-unit && docker-compose up -d
рдЗрд╡реЗрдВрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЗрдмреНрд░реЗрд░реАред рдпрд╣ PHP рдореЗрдВ рд▓рд┐рдЦрд╛ рд╣реИред
рдкреЗрд╢реЗрд╡рд░реЛрдВ:
- рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдЖрдк рдПрдХ рд╕рд░реНрд╡рд░ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдЪрд░ рдХреЛ рдЖрд░рдВрдн рдХрд░реЗрдЧрд╛ рдФрд░ рдЙрдирдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдЧрд╛ред
рд╡рд┐рдкрдХреНрд╖:
- рдЖрдкрдХреЛ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдХреЛрдб рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛;
- рд╕реНрдореГрддрд┐ рдХрд╛ рдЯреНрд░реИрдХ рд░рдЦрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред
рдпрджрд┐ рдЖрдк рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП --reboot-k рдЧрд┐рдиреЗ-рдмрд╛рдж-рдЕрдиреБрд░реЛрдз рдзреНрд╡рдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП рд╕рд┐рдореНрдлрдиреА рдХрд░реНрдиреЗрд▓ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде, рдЖрдкрдХреЛ рдореЗрдореЛрд░реА рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХреЛрдб рдбреЙрдХрдЯрд░-рдХрдВрдкреЛрдЬрд╝ рдХреЗ рд╕рд╛рде рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреА рдХрдорд╛рди:
cd docker/react-php && docker-compose up -d --scale php=2
рд╡реЗрдм рд╕рд░реНрд╡рд░ рдФрд░ PHP рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреНрд░рдмрдВрдзрдХред рдЧреЛрд▓рд╛рдВрдЧ рдореЗрдВ рд▓рд┐рдЦрд╛ рд╣реИред
рдкреЗрд╢реЗрд╡рд░реЛрдВ:
- рдЖрдк рдПрдХ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХреЛ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдЪрд░ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░реЗрдЧрд╛ рдФрд░ рдЙрдирдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдЧрд╛ред
рд╡рд┐рдкрдХреНрд╖:
- рдЖрдкрдХреЛ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдХреЛрдб рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛;
- рд╕реНрдореГрддрд┐ рдХрд╛ рдЯреНрд░реИрдХ рд░рдЦрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред
рдпрджрд┐ рдЖрдк рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП --reboot-k рдЧрд┐рдиреЗ-рдмрд╛рдж-рдЕрдиреБрд░реЛрдз рдзреНрд╡рдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП рд╕рд┐рдореНрдлрдиреА рдХрд░реНрдиреЗрд▓ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде, рдЖрдкрдХреЛ рдореЗрдореЛрд░реА рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХреЛрдб рдбреЙрдХрдЯрд░-рдХрдВрдкреЛрдЬрд╝ рдХреЗ рд╕рд╛рде рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреА рдХрдорд╛рди:
cd docker/road-runner && docker-compose up -d
рдкрд░реАрдХреНрд╖рдг
рдпреИрдВрдбреЗрдХреНрд╕ рдЯреИрдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рдпреИрдВрдбреЗрдХреНрд╕ рдЯреИрдВрдХ рд╡рд┐рднрд┐рдиреНрди рдЖрднрд╛рд╕реА рд╕рд░реНрд╡рд░реЛрдВ рдкрд░ рдереЗред
рдЖрд╡реЗрджрди рдХреЗ рд╕рд╛рде рдЖрднрд╛рд╕реА рд╕рд░реНрд╡рд░ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ:
рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди : рдХреЗ.рд╡реА.рдПрдо.
рд╕реАрдкреАрдпреВ : 2 рдХреЛрд░
рд░реИрдо : 4096 рдПрдордмреА
рдПрд╕рдПрд╕рдбреА : 50 рдЬреАрдмреА
рдХрдиреЗрдХреНрд╢рди : 100MBit
рдУрдПрд╕ : рд╕реЗрдВрдЯреЛрд╕ 7 (64x)
рдкрд░реАрдХреНрд╖рдгрд┐рдд рд╕реЗрд╡рд╛рдПрдБ:
- php-рдПрдл рдкреА рдПрдо
- php-рдкреАрдкреАрдПрдо
- nginx рдЗрдХрд╛рдИ
- рд╕рдбрд╝рдХ рдзрд╛рд╡рдХ
- рд╕рдбрд╝рдХ-рдзрд╛рд╡рдХ-рд░рд┐рдмреВрдЯ (рдзреНрд╡рдЬ рдХреЗ рд╕рд╛рде - рдХреНрд░реЗрдмреВрдЯ-рдХрд░реНрдиреЗрд▓-рдЖрдлреНрдЯрд░-рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ )
- рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-php
- рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛-php-рд░рд┐рдмреВрдЯ (рдзреНрд╡рдЬ рдХреЗ рд╕рд╛рде - рдХреНрд░реЗрдмреВрдЯ-рдХрд░реНрдиреЗрд▓-рдЖрдлреНрдЯрд░-рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ )
рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП 1000/10000 рдЖрд░рдкреАрдПрд╕ рдиреЗ php-fpm-80 рд╕реЗрд╡рд╛ рдХреЛ рдЬреЛрдбрд╝рд╛
рдЗрд╕рдХреЗ рд▓рд┐рдП php-fpm рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:
pm = dynamic pm.max_children = 80
рдпрд╛рдВрдбреЗрдХреНрд╕ рдЯреИрдВрдХ рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХрд┐рддрдиреА рдмрд╛рд░ рдЗрд╕реЗ рд▓рдХреНрд╖реНрдп рдкрд░ рд╢реВрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдЬрдм рддрдХ рдХрд╛рд░рддреВрд╕ рдмрд╛рд╣рд░ рдирд╣реАрдВ рдирд┐рдХрд▓рддреЗ рд╣реИрдВ рддрдм рддрдХ рд░реБрдХрддреЗ рдирд╣реАрдВ рд╣реИрдВред рд╕реЗрд╡рд╛ рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЧрддрд┐ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдкрд░реАрдХреНрд╖рдг рдХрд╛ рд╕рдордп рдкрд░реАрдХреНрд╖рдг рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕реЗ рдЕрдзрд┐рдХ рд▓рдВрдмрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ, рд╡рд┐рднрд┐рдиреНрди рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд▓рдВрдмрд╛рдИ рд╣реЛ рд╕рдХрддреА рд╣реИред рдпрд╣ рд╕реЗрд╡рд╛ рдЬрд┐рддрдиреА рдзреАрдореА рдЧрддрд┐ рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд░рддреА рд╣реИ, рдЙрддрдиреА рд╣реА рд▓рдВрдмреА рдЕрд╡рдзрд┐ рд╣реЛрдЧреАред
рдпреИрдВрдбреЗрдХреНрд╕ рдЯреИрдВрдХ рдХреА рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд╡рд╛ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП, рдХреЗрд╡рд▓ рдПрдХ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ рдирдВрдмрд░ рдЧрд▓рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рд╕реЗрд╡рд╛рдУрдВ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдерд╛ред
100 рдЖрд░рдкреАрдПрд╕
рдлреИрдВрдЯрдо рдпрд╛рдВрдбреЗрдХреНрд╕ рдЯреИрдВрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди
phantom: load_profile: load_type: rps schedule: line(1, 100, 60s) const(100, 540s)
рд╡рд┐рд╕реНрддреГрдд рд░рд┐рдкреЛрд░реНрдЯ рд▓рд┐рдВрдХ
рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордп рдХреЗ рдкреНрд░рддрд┐рд╢рдд
рдирд┐рдЧрд░рд╛рдиреА
рдЧреНрд░рд╛рдлрд┐рдХреНрд╕

рдЪрд╛рд░реНрдЯ 1.1 рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдФрд╕рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордп

рдЪрд╛рд░реНрдЯ 1.2 рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдФрд╕рдд рдкреНрд░реЛрд╕реЗрд╕рд░ рд▓реЛрдб

рдЪрд╛рд░реНрдЯ 1.3 рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдФрд╕рдд рдореЗрдореЛрд░реА рдЦрдкрдд
500 рдЖрд░рдкреАрдПрд╕
рдлреИрдВрдЯрдо рдпрд╛рдВрдбреЗрдХреНрд╕ рдЯреИрдВрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди
phantom: load_profile: load_type: rps schedule: line(1, 500, 60s) const(500, 540s)
рд╡рд┐рд╕реНрддреГрдд рд░рд┐рдкреЛрд░реНрдЯ рд▓рд┐рдВрдХ
рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордп рдХреЗ рдкреНрд░рддрд┐рд╢рдд
рдирд┐рдЧрд░рд╛рдиреА
рдЧреНрд░рд╛рдлрд┐рдХреНрд╕

рдЪрд╛рд░реНрдЯ 2.1 рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдФрд╕рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордп

рдЪрд╛рд░реНрдЯ 2.2 рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдФрд╕рдд рдкреНрд░реЛрд╕реЗрд╕рд░ рд▓реЛрдб

рдЪрд╛рд░реНрдЯ 2.3 рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдФрд╕рдд рдореЗрдореЛрд░реА рдЦрдкрдд
1000 рдЖрд░рдкреАрдПрд╕
рдлреИрдВрдЯрдо рдпрд╛рдВрдбреЗрдХреНрд╕ рдЯреИрдВрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди
phantom: load_profile: load_type: rps schedule: line(1, 1000, 60s) const(1000, 60s)
рд╡рд┐рд╕реНрддреГрдд рд░рд┐рдкреЛрд░реНрдЯ рд▓рд┐рдВрдХ
рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордп рдХреЗ рдкреНрд░рддрд┐рд╢рдд
рдирд┐рдЧрд░рд╛рдиреА
рдЧреНрд░рд╛рдлрд┐рдХреНрд╕

рдЪрд╛рд░реНрдЯ 3.1 рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдФрд╕рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордп

рдЪрд╛рд░реНрдЯ 3.2 рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдФрд╕рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордп (рдмрд┐рдирд╛ php-fpm, php-ppm, рд░реЛрдб-рд░рдирд░-рд░рд┐рдмреВрдЯ)

рдЪрд╛рд░реНрдЯ 3.3 рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдФрд╕рдд рдкреНрд░реЛрд╕реЗрд╕рд░ рд▓реЛрдб

рдЪрд╛рд░реНрдЯ 3.4 рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдФрд╕рдд рдореЗрдореЛрд░реА рдЦрдкрдд
10000 рдЖрд░рдкреАрдПрд╕
рдлреИрдВрдЯрдо рдпрд╛рдВрдбреЗрдХреНрд╕ рдЯреИрдВрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди
phantom: load_profile: load_type: rps schedule: line(1, 10000, 30s) const(10000, 30s)
рд╡рд┐рд╕реНрддреГрдд рд░рд┐рдкреЛрд░реНрдЯ рд▓рд┐рдВрдХ
рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордп рдХреЗ рдкреНрд░рддрд┐рд╢рдд
рдирд┐рдЧрд░рд╛рдиреА

рдЪрд╛рд░реНрдЯ 4.1 рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдФрд╕рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордп

рдЪрд╛рд░реНрдЯ 4.2 рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдФрд╕рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордп (php-fpm рдХреЗ рдмрд┐рдирд╛, php-ppm)

рдЪрд╛рд░реНрдЯ 4.3 рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдФрд╕рдд рдкреНрд░реЛрд╕реЗрд╕рд░ рд▓реЛрдб

рдЪрд╛рд░реНрдЯ 4.4 рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдФрд╕рдд рдореЗрдореЛрд░реА рдЦрдкрдд
рдкрд░рд┐рдгрд╛рдо
рдпрд╣рд╛рдВ рднрд╛рд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕реЗрд╡рд╛рдУрдВ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рджрд┐рдЦрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЧреНрд░рд╛рдлрд╝ рд╣реИрдВред рдЪрд╛рд░реНрдЯ рдХреЛ рджреЗрдЦрддреЗ рд╕рдордп, рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рд╕рднреА рд╕реЗрд╡рд╛рдУрдВ рдиреЗ 100% рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рдирд╣реАрдВ рджрд┐рдпрд╛ред

рдЪрд╛рд░реНрдЯ 5.1 95% рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордп рдХрд╛ рдкреНрд░рддрд┐рд╢рдд

рдЪрд╛рд░реНрдЯ 5.2 95% рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордп рдХрд╛ рдкреНрд░рддрд┐рд╢рдд (рдмрд┐рдирд╛ php-fpm)

рдЧреНрд░рд╛рдлрд╝ 5.3 рдЕрдзрд┐рдХрддрдо рд╕реАрдкреАрдпреВ рд▓реЛрдб

рдЪрд╛рд░реНрдЯ 5.4 рдЕрдзрд┐рдХрддрдо рдореЗрдореЛрд░реА рдЦрдкрдд
рдЗрд╖реНрдЯрддрдо рд╕рдорд╛рдзрд╛рди, (рдХреЛрдб рдХреЛ рдмрджрд▓реЗ рдмрд┐рдирд╛), рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдиреЗрдЧреНрдиреЗрдХреНрд╕ рдпреВрдирд┐рдЯ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреНрд░рдмрдВрдзрдХ рд╣реИред рдпрд╣ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдЧрддрд┐ рдореЗрдВ рдЕрдЪреНрдЫреЗ рдкрд░рд┐рдгрд╛рдо рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдХрдВрдкрдиреА рдХрд╛ рд╕рдорд░реНрдерди рд╣реИред
рдХрд┐рд╕реА рднреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЖрдкрдХреЗ рдХрд╛рд░реНрдпрднрд╛рд░, рд╕рд░реНрд╡рд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдФрд░ рдбреЗрд╡рд▓рдкрд░ рдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдФрд░ рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдЪреБрдирд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдпреБрдкреАрдбреА
рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП 1000/10000 рдЖрд░рдкреАрдПрд╕ рдиреЗ php-fpm-80 рд╕реЗрд╡рд╛ рдХреЛ рдЬреЛрдбрд╝рд╛
рдЗрд╕рдХреЗ рд▓рд┐рдП php-fpm рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:
pm = dynamic pm.max_children = 80