У меня странная проблема.На amazon m4.large с nginx и php-fpm, который находится за балансировщиком нагрузки и с memcached и s3 bucket, когда посетители достигают определенного числа, ЦП экземпляра за короткое время достигает почти 97%.Я включил функцию медленной регистрации php-fpm и обнаружил несколько случаев этого:
script_filename = /var/www/xxx/web/app.php
[0x00007f231c23c6c0] curl_multi_select() /var/www/xxx/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php:101
[0x00007f231c23c560] tick() /var/www/xxx/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php:125
[0x00007f231c23c448] execute() /var/www/xxx/vendor/guzzlehttp/promises/src/Promise.php:246
[0x00007f231c23c338] invokeWaitFn() /var/www/xxx/vendor/guzzlehttp/promises/src/Promise.php:223
[0x00007f231c23c208] waitIfPending() /var/www/xxx/vendor/guzzlehttp/promises/src/Promise.php:267
[0x00007f231c23c0d8] invokeWaitList() /var/www/xxx/vendor/guzzlehttp/promises/src/Promise.php:225
[0x00007f231c23bfa8] waitIfPending() /var/www/xxx/vendor/guzzlehttp/promises/src/Promise.php:267
[0x00007f231c23be78] invokeWaitList() /var/www/xxx/vendor/guzzlehttp/promises/src/Promise.php:225
[0x00007f231c23bd48] waitIfPending() /var/www/xxx/vendor/guzzlehttp/promises/src/Promise.php:62
[0x00007f231c23bc08] wait() /var/www/xxx/vendor/aws/aws-sdk-php/src/AwsClientTrait.php:58
[0x00007f231c23bac0] execute() /var/www/xxx/vendor/league/flysystem-aws-s3-v3/src/AwsS3Adapter.php:319
[0x00007f231c23b998] getMetadata() /var/www/xxx/vendor/league/flysystem-aws-s3-v3/src/AwsS3Adapter.php:342
[0x00007f231c23b8a0] getSize() /var/www/xxx/vendor/league/flysystem/src/Filesystem.php:329
[0x00007f231c23b720] getSize() /var/www/xxx/vendor/league/glide-symfony/src/Responses/SymfonyResponseFactory.php:38
Я пытаюсь получить изображение из корзины S3.И экземпляры, откуда я выполняю этот код, и корзина находятся в одной зоне aws.Таким образом, задержка должна быть довольно низкой.Я настроил aws-sdk-php со следующими параметрами:
timeout = 5
connect_timeout = 1
delay = 0
PHP и PHP-FPM находятся в версии 5.6.36
, это вывод из конфигурации php-fpm:
pm = dynamic
pm.max_children = 505
pm.start_servers = 15
pm.min_spare_servers = 15
pm.max_spare_servers = 135
pm.max_requests = 5000
Время задержки пиков балансировки нагрузки, когда посетители поднимаются и загрузка ЦП достигает ~ 97%.Использование ОЗУ довольно низкое, хотя.У кого-нибудь была похожая проблема с curl_multi_selection (), который занимал так много времени?