Я программист PHP и работаю над сайтом сообщества. Я использую Apache NodeJS Php и Mysql на сервере: 24 ГБ ОЗУ Intel i7 950 8 ядер 8 потоков 3,06 ГГц, 120 ГБ SSD HDD 12 ГБ SWAP (выделенный сервер) ОС: Debian Wheezy. Мой вопрос: должен ли я отделить Mysql от PHP и Node JS на 2 (двух) разных серверах, потому что я беспокоюсь, когда более 20000 человек войдут в систему и начнут просматривать веб-сайт, делают запросы к базе данных и т. Д ... Также я используя Codeigniter 2.0.13, Socket.IO для приватных чатов, чатов и уведомлений -> все вставляет данные в MySQL.
У меня есть еще один сервер с такими же параметрами, поэтому я должен отделить MySQL от Php, NodeJS.
Спасибо, парни
Сайт уже работает? В таком случае вы должны иметь представление о нагрузке и количестве пользователей и принимать на основании этого решение.
Если веб-сайт еще не запущен, то вряд ли он вырастет с 0 до 20 000 одновременных пользователей в течение первых нескольких дней (поздравляю, если это произойдет!). Я бы запустил все на одной машине, а затем, если спрос хорошо растет и сервер начинает бороться, переместил бы базу данных на другой узел в этот момент. Переместить его на более позднее время не составит труда, иначе это может привести к длительному простою.
Один из веб-сайтов, на котором я работаю, обрабатывает более 2 миллионов просмотров страниц в месяц на одном узле, что гораздо меньше, чем тот, который вы описали. Однако мы потратили много времени, чтобы убедиться, что код очень эффективен. Неэффективный код может иметь большое значение.
На основе предоставленной информации сложно сказать что-то конкретное.
Только вы можете запускать профилирование / тесты в своем приложении, чтобы узнать, достаточно ли хорошо оно работает с одним сервером.
Код вашего приложения имеет наибольшее значение в производительности.