Я создал тест с JMeter для тестирования производительности платформы Google Ghost. Ghost написан в Node.js и был установлен на облачном сервере с 1 Гб оперативной памяти, 1 процессор.Node.js Балансировка нагрузки процессора
Я заметил, что после 400 одновременных пользователей JMeter получает ошибки. До 400 одновременных загрузок пользователей в норме. Я решил увеличить процессор и добавил 1 процессор.
Но ошибки воспроизведены и добавлены 2 процессора, всего 4 процессора. Проблема возникает после 400 одновременных пользователей.
Я не понимаю, почему 1 процессор может обрабатывать 400 пользователей и те же результаты с 4 процессорами.
Во время мониторинга я заметил, что только один процессор занят, а еще 3 процессора простаивают. Когда я проверяю сводку JMeter на консоли, были ошибки, около 5% запроса. См. Снимок экрана.
Я хотел бы знать, можно ли сбалансировать нагрузку между процессорами?
вы также можете проверить лимит открытого файла на 'ulimit -n'. Это ограничивает количество узлов параллельных запросов. Вы можете увеличить его (для локальной сессии) с помощью 'ulimit -n 10000'. Чтобы создать кластер ваших процессов призрачного сервера, вы можете попробовать pm2. Просто установите pm2 с 'npm install pm2 -g' и' pm2 start .js' –
Проблема частично решена. Вот шаги и результаты, которые я получил: 1. Изменен ulimit до 10000. Результат: никаких изменений. 2. Включен модуль кластера узлов. Результат: +200 одновременных пользователей 3. Подстроенный рабочий процесс Nginx.Результат: + 2k одновременных пользователей Я могу предположить, что проблема была с Nginx. Когда я тестировал сервер без кластерного модуля, сервер обрабатывал 2000 пользователей. Я попытаюсь включить кластерный модуль, когда достиг предела. – Bob