Я создаю приложение для увеличения трафика, которое может обслуживать от 0 до 50 000 клиентов одновременно в течение нескольких минут. Я подумал, что попрошу вас помочь понять, если я здесь что-то не так делаю.
В настоящее время я тестирую loader.io, моя конфигурация для этого нагрузочного теста составляет от 0 до 10 000 клиентов за 1 минуту. Единственное, что делает тестировщик, - это загружает страницу входа, ничего больше, даже не входит в систему. Размер страницы составляет 793 КБ, что соответствует времени загрузки ~ 400 мс в реальном браузере.
[01-Mar-2018 09:57:48] WARNING: [pool app.com] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 8 children, there are 4244 idle, and 4607 total children
[01-Mar-2018 09:57:49] WARNING: [pool app.com] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 16 children, there are 4216 idle, and 4615 total children
[01-Mar-2018 09:57:50] WARNING: [pool app.com] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 32 children, there are 4211 idle, and 4631 total children
[01-Mar-2018 09:57:52] WARNING: [pool app.com] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 32 children, there are 4179 idle, and 4663 total children
[01-Mar-2018 09:57:54] WARNING: [pool app.com] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 32 children, there are 4181 idle, and 4695 total children
[01-Mar-2018 09:57:57] WARNING: [pool app.com] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 32 children, there are 4244 idle, and 4727 total children
[01-Mar-2018 09:57:58] WARNING: [pool app.com] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 32 children, there are 4412 idle, and 4759 total children
Моя конфигурация php-fpm выглядит следующим образом:
pm.max_children 3000
pm.max_requests 200
pm dynamic
pm.start_servers 1500
pm.min_spare_servers 300
pm.max_spare_servers 1500
Технические характеристики хост-сервера:
AMD Opteron(tm) Processor 6344
Core Name
Abu Dhabi
# of Cores
12-Core
# of Threads
12
Operating Frequency
2.6 GHz
Hyper Transports
6.40 GT/s
L2 Cache
6 x 2MB
L3 Cache
2 x 8MB
Manufacturing Tech
32 nm
50GB RAM (I have provided this to the container), server has 64 total.
И, как ни странно, даже с такой конфигурацией я все еще получаю сообщения "кажется занятым"!
Вот где все умирает:
Здесь важно помнить, что обычно у нас практически нет трафика, и мы ожидаем, что за несколько минут мы сможем привлечь до 50 000 пользователей. Не могли бы вы помочь мне с этой ошибкой, пожалуйста, ребята. Спасибо!
Вы должны помнить, что запуск этих дополнительных рабочих процессов требует времени, и, как вы можете видеть в журналах, php-fpm порождает 32 дочерних элемента одновременно. Самым простым «исправлением» было бы установить для минимального и максимального серверов одинаковое значение, чтобы вам не приходилось ждать, пока они начнут раскручиваться.
Также, если возможно, вместо того, чтобы пытаться сделать что-то подобное, попробуйте реализовать кеширование, так как это всегда будет быстрее.