Как посчитать мощность сервера для мобильного приложения
Одним из ключевых факторов, которые следует учитывать при разработке веб-сайта или веб-приложения, является пропускная способность, которая потребуется вашему сетапу для правильной работы.
Знание требований к пропускной способности поможет вам выбрать правильного хостинг-провайдера и составить план в соответствии с вашими потребностями.
В этом руководстве мы покажем вам, как рассчитать пропускную способность, необходимую для вашего веб-сайта или веб-приложения.
Как рассчитать требования к пропускной способности веб-сайта или веб-приложения Как рассчитать требования к пропускной способности веб-сайта или веб-приложенияЧто такое пропускная способность?
Пропускная способность представляет собой максимальную емкость данных, которые могут быть переданы по сети за одну секунду. Наименьшая единица измерения выражается в битах в секунду. С развитием технологий интернет-провайдеры теперь используют мегабит в секунду (Мбит/с) или гигабит в секунду (Гбит/с).
Пропускная способность - это термин, который описывает объем трафика между вашим сайтом и пользователями через Интернет. Не путайте пропускную способность со скоростью соединения, поскольку они не совпадают.
Пропускная способность против передачи данных
Термин пропускная способность иногда используется как синоним передачи данных. На самом деле это две очень разные вещи.
Пропускная способность определяет максимальный потенциальный объем данных, который вы можете передавать за единицу времени между вашим сайтом и пользователями. Этот термин отражает не фактические данные, которые вы передаете, а теоретический объем данных, который вы можете обработать за одну секунду.
С другой стороны, под передачей данных понимается фактический общий объем данных, которые вы передаете за период, обычно за месяц. Единицы измерения - килобайты (КБ), мегабайты (МБ), гигабайты (ГБ), а для больших приложений - терабайты (ТБ).
Важность пропускной способности
Расчет правильной полосы пропускания для вашего веб-приложения имеет решающее значение на этапе разработки и для обеспечения стабильной производительности. Обязательно учитывайте внезапные всплески трафика. Хорошее правило - на 50% превышать прогнозируемую потребность в пропускной способности.
Однако при выборе веб-хостинга расчет может показаться ненужным, поскольку большинство хостинг-провайдеров предлагают планы с «неограниченной» пропускной способностью.
Примечание: ваша система может со временем расширяться, и требования к пропускной способности могут возрасти. Поэтому выберите масштабируемый план, позволяющий при необходимости изменять пропускную способность.
Что такое неограниченная пропускная способность
Многие провайдеры рекламируют планы с «неограниченной» пропускной способностью. Эта формулировка подразумевает, что вы можете передавать столько данных, сколько вам нужно. Здесь веб-хостинг предлагает фиксированную ставку, которая упрощает покупку и поиск решения для хостинга.
Однако правда в том, что хостинговые компании не могут предложить действительно неограниченную пропускную способность. Затраты и технологические требования были бы слишком высокими для этого.
По этой причине планы с неограниченной пропускной способностью предлагают достаточную пропускную способность, чтобы удовлетворить потребности большинства клиентов. Таким образом, планы кажутся неограниченными для этих пользователей. В большинстве случаев обычные планы покрывают стандартные требования к веб-приложениям. Есть также планы для более продвинутых клиентов, обеспечивающие скорость, превышающую ту, которую предлагают обычные безлимитные планы.
Расчет требований к пропускной способности
Прежде чем рассчитывать требования к пропускной способности, вы должны знать средний размер страницы на вашем веб-сайте.
Чтобы определить размер, используйте тест времени загрузки и учитывайте данные как минимум для десяти страниц. Затем рассчитайте средний размер страницы для вашего сайта.
Имея эту информацию, вам необходимо учесть еще два элемента:
- Количество посещений ваших страниц.
- Дополнительная пропускная способность может потребоваться в случае всплеска трафика. Это предотвращает потенциальные проблемы с производительностью или даже простои.
Есть две формулы для расчета необходимой пропускной способности.
Требования к пропускной способности веб-сайта без скачиваний пользователем
Если ваш веб-сайт не предлагает посетителям загружаемый контент, используйте следующую формулу для расчета необходимой пропускной способности:
Расчет немного отличается, когда ваш сайт предлагает загружаемый контент.
Требования к пропускной способности веб-сайта со скачиванием
Чтобы рассчитать необходимую пропускную способность, когда ваш веб-сайт предлагает загружаемый контент, используйте следующую формулу:
Новые параметры в этой формуле:
- Среднее количество загрузок в день - представляет собой среднее количество загружаемых файлов в день.
- Средний размер файла - это средний размер загружаемых файлов.
С помощью этого расчета вы знаете прогнозируемые требования к пропускной способности для пользовательских загрузок.
Как рассчитать мощность сервера под конкретную задачу? Расчет энергопотребления, конфигурации и нагрузки для серверного оборудования. Boodet.online.
26 Фев 2020 09:16 IT GIRL 12 Расчет мощности сервера под ваши задачи Блог 2020-02-26 ru Расчет мощности сервера под ваши задачиКак рассчитать параметры серверного оборудования
Расчет мощности сервера — это сложный многоэтапный процесс, который требует знаний аналитики, принципов энергопотребления , характеристик железа и работы с большими данными. Для того чтобы с точностью рассчитать параметры серверного оборудования, лучше всего обратиться к специалистам.
А если нужно сделать самостоятельно? Попробуйте рассчитать мощность сервера и выбрать подходящую конфигурацию с помощью краткой инструкции от Boodet.Online.
Постановка задачи
Начать стоит с постановки задачи. Что это значит? Определите, для чего вам нужен сервер. Проще всего будет выписать все задачи, которые придется выполнять, и ПО, которое должно работать. Пригодятся и данные о посещаемости сайта, время пиковых нагрузок, базовые поведенческие модели. Если вы впервые рассчитываете мощность сервера , таких данных у вас, скорее всего, не будет. В этом случае ограничьтесь списком программ и задач, которые они решают.
Базовый принцип состоит в достаточной мощности серверного оборудования. Это значит, что ресурсов хватит для работы целевой системы, при этом не будет излишков мощности (это неэффективная трата бюджета).
Эталонная система
Эталонной будет та система, которая копирует рабочую. Говоря простыми словами, это будет точная копия вашей целевой системы; единственное, что в них будет разным — интенсивность нагрузки . Цель расчета мощности сервера — устранить эту разницу и превратить целевую систему в эталонную.
Что будем делать? Возьмем реальный сервер с конкретными параметрами и проверим на нем стандартную и пиковую нагрузки. Выясним, как работает софт, стабилен ли доступ к базам данных. Если все хорошо, то просто перенесем полученные данные на целевую систему. Проще говоря, выберем сервер с такими же параметрами, как и у целевого. Если же мощности не хватает или, наоборот, будет замечен ее излишек — скорректируем конфигурацию в большую или меньшую сторону.
Целевая система
В целевой системе часть параметров будет известна заранее, другую часть предстоит выяснить. Что нужно знать заранее:
базовую конфигурацию — проверять нагрузки на чем-то нужно, так что без железа не обойтись;
уровень нагрузки — чтобы рассчитать мощность сервера , нужно знать, сколько людей будет им пользоваться, что они будут делать и как часто;
ПО — какой софт будет стоять, какая ОС, приложения, базы данных.
Расчет конфигурации сервера
После определения целевой и эталонной систем можно приступить к расчету конфигурации сервера . Это сложный процесс, который потребует множества тестов и метрик. Если опустить технические подробности, то на этом этапе эталонную систему загружают на стандартном и пиковом уровнях. Затем собирают результаты и переносят их на целевую, после чего подбирают подходящее оборудование, которое лучше всего справится с поставленными на первом этапе задачами.
Какое оборудование подбирается по итогам тестирования:
процессор — модель, количество ядер, частота;
Процессор
От ЦПУ зависит, каким количеством данных сервер может управлять одновременно и как он будет их обрабатывать. Чем больше задач и одновременных пользователей, тем мощнее нужен процессор.
Дисковая подсистема
Основные требования: надежность и отказоустойчивость. При выборе дисковой подсистемы необходимо еще раз вернуться к первому этапу и посмотреть, какие задачи стоят перед сервером. Для частой перезаписи, например, при создании бэкапов, лучше взять HDD. Чтобы сервер загружался быстро и выполнял много операций одновременно — SSD.
Оперативная память
В зависимости от рабочих задач и нагрузок потребуется разный объем оперативной памяти. Для небольших нагрузок, например, статичного корпоративного сайта, будет достаточно и 512 Мб. Для облачных и машинных вычислений — гораздо больше. Внимательно изучите результаты метрик расчета мощности сервера и рекомендации специалистов. От правильного выбора оперативной памяти будет зависеть быстродействие машины.
Расчет энергопотребления
Это почти финальный этап. Конфигурация подобрана, рабочие нагрузки еще раз протестированы. Следующий глобальный вопрос: где хранить сервер? Рабочие машины требуют специально оборудованного помещения, без него даже идеально подобранная конфигурация не будет эффективной. Чтобы обустроить или выбрать серверную, понадобится рассчитать энергопотребление. Это можно сделать по сложной формуле, но проще воспользоваться одним из онлайн-калькуляторов.
К полученной цифре нужно будет прибавить энергопотребление вспомогательных систем:
Я разрабатываю бэкэнд, где я буду раскрывать API для своего мобильного приложения. Пользователи могут регистрироваться, добавлять продукты, обмениваться ссылками продуктов через электронную почту /смс /в любом месте, а другие могут щелкнуть по ней и купить продукт. Это простой рабочий процесс мобильного приложения. Приложение представляет собой приложение, интенсивно использующее изображение, которое будет загружать и извлекать изображения, которые будут выполняться сторонним облачным сервисом. Так что часть изображения не обрабатывается моим бэкэндом.
Теперь я из команды разработчиков и имею небольшой опыт работы на стороне сервера. Когда я дал требование об инфраструктуре, они задали мне следующие вопросы.
- Пропускная способность приложения /хранилища
- Пропускная способность приложения (количество одновременных подключений через 3 месяца, 6 месяцев и 1 год).
- Пропускная способность хранилища (рост данных через 3 месяца, 6 месяцев и 1 год).
- Требование HA
- Требование DR
Я не уверен, как я могу предсказать выше 3 балла. Как рассчитываются сквозные ставки? Я буду оценивать в 100 000 пользователей, регистрирующихся в моем приложении, в первый месяц, из которых 5000 будут активными пользователями. При среднем входе в приложение будет 10 обращений API на пользователя, что приведет к 5000 * 10 = 50 000 обращений в месяц, что будет 1 хитом API за минуту, т. Е.
2 параллельных соединения в первый месяц.
Является ли расчет таким? и как я могу рассчитать рост данных? Означает ли это, что пользователь регистрирует, создает продукт, и если я суммирую размер базы данных, потребляемый для этого, это то, что называется ростом данных?
Этот вопрос выглядит жалким, но мне действительно нужна помощь в выяснении того, как вычислительная мощность вычисляется для требований сервера.
3 ответа
Первые три пункта - планирование мощности. Организация пытается бюджет и прогнозировать будущее. Увы, нет простого или общепринятого способа предсказать производительность и масштабируемость. Каждое приложение и среда различны. Поэтому лучший способ ответить на это - измерить.
- Обсудите с менеджером или владельцами продуктов, каков будет вероятный рост пользователей и типы разных пользователей. Если они не знают, угадывайте, но документируйте, что это догадки.
- Создайте автоматическое прохождение общих путей вашего приложения. Вы можете записывать активность или вводить свои собственные приложения для тестирования нагрузки, например JMeter .
- Создайте тестовую среду, соответствующую текущему или проецируемому оборудованию. Обратите пристальное внимание на такие вещи, как пропускная способность, хранение, SSL, протоколирование или другие часто забытые аспекты, которые могут повлиять на производительность. Извлеките службу сторонних изображений, если сможете, используя меньшие или репрезентативные изображения.
- Используйте приложение загрузки нагрузки для создания предлагаемого для прогнозируемого числа пользователей в разное время.
- Используйте инструмент управления эффективностью приложений, например AppDynamics или DynaTrace , чтобы измерить производительность и определить узкие места.
В дополнение к вышеуказанным требованиям это может помочь вам:
- Подтвердите, что ваша среда поддерживает запрошенную загрузку.
- Найдите максимальную нагрузку, поддерживаемую вашей средой.
- Найдите узкое место (узлы), ограничивающие производительность или масштабируемость.
- Экспериментируйте с различными конфигурациями, чтобы увидеть, как выполнять или масштабировать.
- Наблюдайте за тем, как система справляется при запуске сбоев.
Последние две точки: требование HA (высокая доступность) и DR (аварийное восстановление, предположительно RPO (точка восстановления цель) и RTO (цель восстановления времени) ), сложнее предсказать, поскольку эти действительно являются бизнес-требованиями. Обсудите с владельцами или владельцами продуктов вероятные сбои и сколько они будут стоить для смягчения или исправления. . Если вы оба новичок в этом, ожидайте множество угадываний и поздних ночей с вашей стороны.
Кроме того, имейте в виду с точки зрения QA. Вы не можете выполнять требования и валидацию. Таким образом, вы можете использовать объективные данные из журналов, чтобы помочь собрать информацию о модели нагрузки, но кто-то из бизнеса должен подписаться на фактическое определение. Зачем? Поскольку вы вводите требование в поток, который до сих пор не был доступен разработчикам, архитекторам, менеджерам платформ и т. Д. . если вы не используете приложение, вы хотите, чтобы бизнес позади вас, чтобы цифры были точными.
Что вы можете вытащить журналы?
- Максимальная скорость транзакции в час (запросы на количество запросов блокируются по часам)
- Максимальные пользователи в час (количество IP-адресов заблокировано по часам)
- Потоки пользовательских данных (см. тег реферера при запросах на создание дерева предыдущие запросы)
- Существующие времена отклика (если у вас поле w3c time-taken для вызовов ваших веб-сервисов). Это можно использовать для установки ожидания будущих выпусков на объективной основе для превышающий текущую модель.
- Подумайте о временах задержек между запросами по IP. Вы можете моделировать образцы точек времени между любыми двумя запросами на захват тега реферера и блокирование по IP-адресу для создания образца задавать. Затем вы можете вытащить статистику по этим образцам в течение минимального, максимального, среднего, 90-е процентиль думаю времена. Черт, некоторые статистические пакеты будут даже предоставить вам функцию, в которую вы можете вставить случайное число в получить распределение, соответствующее производству
- Если у вас есть журналы для предыдущих периодов времени, вы можете прогнозировать рост модели для наблюдаемых и желательных (прогнозы продаж или использования).
Я предпочитаю Splunk для этого типа работы. Для большинства организаций вы можете вытащить журналы на 30 дней в свободный уровень, не беспокоясь о том, чтобы создать полдюжины разных приложений вместе, как и в стеке ELK.
Неправильные требования, и вы вполне можете преследовать инженерных призраков, которые никогда не произойдут в производстве и фактически не уменьшат риск. Удостоверьтесь, что кто-то из бизнес-сторон подписывается на ваши требования или вы вполне можете самостоятельно списывать бюджетные издержки для преследования не-дефектов.
Мне очень нравится ваш вопрос. Это хороший. Я не думаю, что есть реальный ответ на этот вопрос, но я попробую. При создании /разработке нового Сервера наиболее важно выбрать правильный Окружающая среда и методы. Не все среды являются масштабируемыми, большинство из них ограничено. Аппаратная команда пытается вычислить, какой тип файловых систем и интерфейсов они могут использовать. Некоторые файловые системы легко настраиваются, но их трудно расширить. Другие сложно настроить, но легко управлять и расширять.
Лучше всего, на мой взгляд, связаться с теми, кто задает вам эти вопросы и объяснить им, почему вы не можете ответить на них прямо сейчас. При запуске нового приложения или системы никто не может сказать, как это все развивается особенно, когда нет другой Системы, с которой вы можете сравнить. Но у вас есть knowlegde о API, который вы разработали, и «Hardware-Man» имеет knowlegde, как работают его Enviroments /Servers. Вместе вы можете точно понять эти вопросы.
Сделайте свое мобильное приложение более безопасным и управляемым с помощью лучшей серверной части.
Интернет-реклама через мобильные приложения становится все более популярной среди предприятий. Согласно отчетам Statista, доход от мобильных приложений к 2020 году достигнет 189 миллиардов долларов. Большая часть этого дохода будет получена за счет рекламы в приложениях, а также от продаж в маркетах, таких как Apple App Store, Google Play.
В связи с ростом использования мобильных приложений владельцы бизнеса направляют значительные средства на управление серверной частью мобильных устройств. Использует ли ваше бизнес-приложение такие функции, как аналитика использования, расширенная безопасность, связь между пользователями, push-уведомления и обработка рекламы?
Вам понадобится серверная часть для управления хранением данных, безопасностью и бизнес-логикой. Одним из важнейших аспектов управления серверной частью мобильного приложения является то, как и где его разместить.
Как выбрать серверную часть для мобильного приложения
Односерверный хостинг
Существуют серверы хостинга, которые предоставляют вам простые способы масштабирования вашего сервера по мере увеличения количества пользователей. Примерами являются DigitalOcean и IBM SoftLayer. Для таких серверов важно убедиться, что экземпляр сервера имеет быстрое сетевое подключение, гарантированные ресурсы и хорошие инструменты для управления нагрузкой.
Мультирегиональный хостинг
Для предприятий, ориентированных на клиентов на разных континентах, расположение серверной части мобильного приложения влияет на общее впечатление от приложения. Это влияет на пропускную способность сети и задержку в сети между клиентом и сервером. Существуют и другие соображения, которые следует учитывать в региональных правилах размещения данных. Например, предприятия, работающие в России и ЕС, должны размещать серверную часть своего приложения в ЕС, если на серверной части приложения есть какие-либо личные данные.
Assets Hosting
Ваше приложение полагается на множество загружаемых ресурсов, таких как изображения, видео, шрифты и т.д.?
Рассмотрите возможность использования сети доставки контента (CDN).
MBaaS
Поставщики MBaaS используют модель как услугу, в которой вы потребляете услугу в качестве поставщика для управления своей серверной частью.
- MBaaS обеспечивает бесперебойную работу вашего приложения на самых разных мобильных платформах и устройствах пользователей.
- Вам не нужно работать над серверной частью с нуля.
- MBaaS может взять на себя управление пользователями.
- Служба выполняет всю тяжелую работу по хранению постоянных данных.
- MBaaS кодирует службы push-уведомлений, поэтому вам не нужно этого делать.
- Он берет на себя все управление API. Вам не нужно кодировать интеграцию, что экономит вашим программистам много времени.
- Если вы новичок, с MBaaS вам не нужно создавать специальное программное обеспечение мобильного приложения для бизнеса.
Если вы выбрали вариант MBaaS, вам необходимо придерживаться следующего контрольного списка:
- Легко ли использовать MBaaS? Например, насколько легко управлять внутренними данными? Поставщик MBaaS должен предоставить соответствующие процессы, методы и инструменты для управления данными.
- Надежно ли хранит серверный код, базы данных, файлы и т.д.?
- Использует ли поставщик услуг хорошо протестированную архитектуру для возможностей обработки транзакций, а также для управления базами данных?
- Предлагает ли поставщик API-интерфейсы для подключения вашего бизнес-приложения к нужным облачным сервисам?
- Защищена ли связь между пользователями и серверами?
- Провайдер должен обеспечивать отличную техническую поддержку, и с ним должно быть легко вести дела.
Вывод
Поставщики серверного хостинга для мобильных приложений значительно различаются, когда дело доходит до их предложений. Вы можете найти большие различия в задержках во внутренней сети двух ведущих облачных провайдеров. Если не ожидается, что ваше бизнес-приложение в ближайшем будущем получит тысячи пользователей, выберите вариант MBaaS или настройте один сервер. MBaaS отлично работает, когда время выхода на рынок является главным приоритетом.
Читайте также: