Как определить требования к оперативной памяти для облачного хостинга? - PullRequest
2 голосов
/ 09 марта 2011

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

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

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

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

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

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

  • Сколько серверов требуется
  • Требуются VPU / сервер
  • Требуется ОЗУ / сервер
  • Общее хранилище / сервер требуется

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

Ответы [ 2 ]

3 голосов
/ 19 декабря 2011

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

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

2 голосов
/ 09 марта 2011

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

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

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

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

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

Я пытался ответить как можно больше.Комментарии по вопросам, которые вы не согласны или хотите обсудить больше.

...