Данные не очень помогут в определении того, какие цифры вы хотите.Но, исходя из своего опыта, я постараюсь помочь вам в анализе.
15 000 000 посещений в месяц означает 700 000 посещений в день (при условии, что около 30-35% посещений являются повторными посетителями).
700Kx5 = 3,5 миллиона просмотров страниц в день.Предполагается, что 14 часов активного периода типичны для одиночных сайтов timezeone.Его 70reqs / sec.
С этой большой базой пользователей мало что вам понадобится, это высокопроизводительный сервер БД с одним ведомым.Конфигурация этих серверов БД
- Память, чтобы все активные данные + индексы помещались в память (не должно происходить перестановка / перебрасывание).Это вам нужно рассчитать на основе того, что вы будете хранить для пользователя и как долго.
- Используйте надежное хранилище, такое как RAID10 (более высокая пропускная способность чтения / записи).
- Возьмите достаточно места для хранения, убедитесь, что он достаточно эластичен.(например, AWS EBS).
Сделать сервер приложений внешнего интерфейса легким и масштабируемым по горизонтали.Поместите их за балансировщик нагрузки (используйте программный балансировщик нагрузки, например, nginx или HAproxy).Вы должны иметь возможность поставить столько, сколько вы идете к своей цели.
Для loadbalacer and frontend take 4CPU, 4-8GB RAM servers
.Сколько нужно каждому веб-интерфейсу, нужно протестировать, используя метод нагрузочного тестирования и реалистичные данные тестирования.
Снижение нагрузки на базу данных / постоянное использование памяти / + постоянные кэши, такие как memcached / membase / redis и т. Д. Возьмите серверыс 8 ГБ и добавьте больше, как вы считаете нужным.
Я не обсуждал разделение БД.Делайте это только тогда, когда вы чувствуете в этом необходимость.Не переусердствуйте в начале.
При 15 млн пользователей в месяц этой установки должно быть достаточно, but again it all depends on you 1. memory footprint, 2. amount of active data
Я пытался ответить как можно больше.Комментарии по вопросам, которые вы не согласны или хотите обсудить больше.