Оцените минимальные требования к программному обеспечению

Есть ли способ оценить минимальные требования к программному обеспечению? Я имею в виду, как я могу найти, например, минимальный объем оперативной памяти, который понадобится моему приложению?

Спасибо!

Ответы на вопрос(5)

своем программном обеспечении во время стресс-тестирования.

структур данных.

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

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

Самый эффективный способ понять минимальные требования - это

Убедитесь, что у вас есть эффективный способ измерения производительности с помощью метрики, которые важны для вашего пользователя. лучший показатель - это время отклика. В зависимости от вашего приложения может применяться скорость, например пропускная способность или количество операций в секунду. Ваши измерения могут быть эмпирическими (например, просто попробуйте), но это наименее эффективно. Лучше всего это сделать с помощью какой-то аппаратуры. На окнах выбор [ETW] [1]. Другие операционные системы имеют другие подходящие механизмы. У вас есть какой-то автоматизированный метод тренировки вашего приложения. Это позволит вам проводить повторные и надежные измерения. Измеряйте свое приложение, используя различные объемы памяти, и посмотрите, где начинает падать производительность. Это также может выявить ошибки производительности, которые мешают вашему приложению работать хорошо. Если у вас есть доступ к платформам с разным уровнем производительности, используйте их. Вы не указали, что делает ваше приложение, но тестирование на нетбуке с 1 ГБ памяти отлично подходит для многих (не всех) клиентских приложений.

Вы можете сделать то же самое с процессором и другими компонентами, такими как диск, сеть или графический процессор.

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

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

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

[1]:http: //msdn.microsoft.com/en-us/library/ms751538.asp сильный текст

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

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

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

Но, в конечном итоге, вам нужно протестировать свое приложение на целевой системе.

используемые приложением, оцените, сколько места они будут занимать при обычном использовании. Используя эту оценку, настройте количество машин (виртуальных или физических) для проверки оценки в различных сценариях (т. Е. В разных целевых операционных системах, в разных настройках виртуальной памяти и т. Д.).

Затем измерьте производительность приложения в различных сценариях. Ваши минимальные настройки - это машина, которая работает наименее адекватно, но при этом остается приемлемой.

ВАШ ОТВЕТ НА ВОПРОС