Я запускаю сервер в nginx с Laravel (средний статический web), и я делаю например 500 постоянных загрузок одновременных пользователей во время 1 минута (не распределенные пользователи в течение этой минуты).
И получив эту ошибку:
unix:/var/run/php/php7.1-fpm.sock failed - ресурс временно недоступен
cginx.conf
worker_processes auto;
events {
use epoll;
worker_connections 1524; #in my case it should be 1024, but well..
multi_accept on;
}
http {
#with this I reduce disk usage a lot
client_body_buffer_size 10K;
client_header_buffer_size 1k;
large_client_header_buffers 2 1k;
reset_timedout_connection on;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
www.conf
pm.max_children = 500
pm.start_servers = 20
pm.min_spare_servers = 20
pm.max_spare_servers = 64
Результаты с вычислительным двигателем Google:
f1-micro (1 vCPU, 0,6 GB) - Is supporting 40 - 60 requests per second
g1-small (1 vCPU, 1,7 GB) - Is maintaining 80 request per second
n1-standard (1vCPU, 3,75 GB) - - Is maintaining 130 request per second
n1-standard-2 (2vCPU, 7,5 GB) - Is maintaining 250 request per second
.
.
n1-standard-16 (16 vCPU, 60 GB) - Is maintaining 840 request per second
Последний первый тест проходит, остальные - ошибки Bad Gateways от 200 пользователей до 400
Если я тестирую, например, не 2.000 пользователей, распределенных за 30 секунд с микро-экземпляром, тогда это нормально, но не одновременная отправка запросов.
Начиная с 2-х ядер, уровень ЦП отлично выглядит, как и операции с дисками и т.д.
Итак, после loooot тестов у меня есть несколько вопросов:
1) Это нормально? Не для меня, не является нормальным, чтобы понадобилось 16 ядер для запуска простой сети.. или стресс-тест слишком тяжелый и нормальный?
2) Тогда я что-то упустил? Является ли Google ограничивать запрос в секунду каким-то образом?
3) Какими будут обычные параметры для заданных конфигурационных файлов?
Любая другая помощь более чем приветствуется