Как узнать требования к оперативной памяти для облачного хостинга?

Я новичок во всем, что такое «облако».

Я буду разрабатывать веб-сайт / платформу, которая будет иметь около 15 000 000 посетителей в месяц после первого года производства.

Я предполагаю, что сайт будет иметь 5 просмотров страниц на посетителя и 100 КБ передачи данных на страницу.

Я связался с несколькими облачными хостинговыми компаниями, но они сказали мне, что у меня должны быть «требования к оборудованию».

Поскольку я довольно невежественен в ИТ-вещах, я хотел бы знать:

Какие факторы необходимо проанализировать, чтобы определить

  • Сколько серверов требуется
  • Требуется VPU / сервер
  • Требуется оперативная память / сервер
  • Общий объем хранилища / требуемый сервер

Заранее большое спасибо!


person RAD MKT    schedule 08.03.2011    source источник
comment
Если вы строите на возможном, должно быть довольно легко развернуть новую, более крупную и мощную виртуальную машину по мере необходимости. Сосредоточьте свое кодирование на идее, что вам может понадобиться раскрутить дополнительные виртуальные машины (чтобы они могли хорошо справляться с ситуацией), и вы сможете расширить свое содержание (в основном)   -  person Prescott    schedule 19.12.2011


Ответы (2)


Я не согласен с другим ответом, так как это почти полная догадка, как и все, что вы можете сгенерировать самостоятельно.

Единственный верный способ узнать это — получить какое-то оборудование, установить на него свое приложение и запустить нагрузочное тестирование, чтобы увидеть, сможете ли вы добраться до точки, в которой вы хотите получить трафик, и с определенным количеством бесплатных накладных расходов на серверах. Только тогда вы поймете, что вам нужно. Никто другой не может ответить на этот вопрос, поскольку каждое приложение отличается. Это ваше приложение, только вы можете его протестировать.

person Neil Middleton    schedule 18.12.2011

Приведенные данные не сильно помогут в определении того, какие цифры вам нужны. Но исходя из своего опыта, я постараюсь помочь вам в анализе.

15 000 000 посещений в месяц означают 700 тысяч посещений в день (при условии, что примерно 30-35% посещений приходится на повторных посетителей).

700Kx5=3,5 миллиона просмотров страниц в день. Предполагая 14 часов активного периода, типичного для одиночных сайтов timezeone. Его 70запросов/сек.

С такой большой пользовательской базой вам наверняка понадобится высокопроизводительный сервер БД с одним подчиненным сервером. Конфигурация этих серверов БД

  1. Память, чтобы все активные данные + индексы помещались в памяти (не должно происходить подкачки/прокрутки). Это вам нужно рассчитать на основе того, что вы будете хранить для пользователя и как долго.
  2. Используйте какое-нибудь надежное хранилище, например RAID10 (более высокая пропускная способность при чтении/записи).
  3. Возьмите достаточно места для хранения, убедитесь, что оно достаточно эластично. (например, 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