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