Как пойти об оценке аппаратных средств, требуемых поддерживать X числа пользователей/транзакций?

Вы можете использовать функции lambda и iter для создания пустой итерируемой в Python.

my_iterable = lambda: iter(())
6
задан Kent Lai 16 June 2009 в 03:56
поделиться

5 ответов

Вам действительно нужно сделать некоторые предположения о вашем пользовательском опыте, чтобы сделать начальную оценку количества одновременных пользователей без тестирования нагрузки. Начнем с некоторых предположений о пользовательской сессии. Приемлемые приблизительные предположения могут быть такими (это может не выполняться в зависимости от сложности или простоты вашего сайта):

  • Каждый пользователь открывает новую страницу или ресурс каждые 5 секунд (при условии AJAXy)
  • Каждый запрос занимает в среднем 200 мсек.
  • Обычно хорошо иметь среднее использование, которое составляет 25% емкости, чтобы допускать скачки, даже больше для сайтов социальных сетей, где скачки могут быть больше.

Тогда вы бы сказали:

200 пользователей (200 мс / 5 с) => средняя потребность в 8 процессорах * 4 (для 25% нагрузки) => 32 процессора.

Я не думаю, что это особенно ориентировано на язык. Память не дорогая, хватит.

3
ответ дан 17 December 2019 в 04:51
поделиться

Честно говоря, я не видел хорошего способа получить разумную оценку, кроме как выполнить образец нагрузочного теста. В приложении любого заметного размера просто слишком много переменных: аппаратное обеспечение (архитектура памяти, количество процессоров, архитектура диска), программное обеспечение (детали реализации, операционная система, виртуальная машина [если есть], система базы данных и т. Д. И т. Д.), Среда (сеть, охлаждение) и др.

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

1
ответ дан 17 December 2019 в 04:51
поделиться

Лично я думаю, что любой, кто скажет вам об этом » общее решение этой проблемы вам лжет. Это особенно верно, если они являются поставщиком оборудования.

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

Надеюсь, вы извлечете уроки из этого и сделаете более точную оценку в следующий раз.

1
ответ дан 17 December 2019 в 04:51
поделиться

Требуемое оборудование в большей степени зависит от сложности и качества программного обеспечения, чем от количества пользователей или нагрузки транзакций. Единственные люди, которые утверждают обратное, - это поставщики оборудования.

0
ответ дан 17 December 2019 в 04:51
поделиться

Вы спрашиваете, как количественно определить требования к вашему оборудованию.

Я, однако, подхожу к этому с другой точки зрения. Разработайте свое приложение так, чтобы его можно было масштабировать (для любых уровней). Оттуда разверните итерацию №1 вашего оборудования. Запустите публичную бета-версию. Соберите несколько реальных чисел. И переконфигурируйте систему для достижения более высокого показателя производительности. Повторить.

0
ответ дан 17 December 2019 в 04:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: