Как подготовить постоянную контрольную среду - PullRequest
8 голосов
/ 02 декабря 2011

Когда я делаю тест производительности графики (C ++), я нахожу, что приложение иногда немного быстрее или медленнее. И это связано с текущим состоянием операционной системы / кэшей / использованием памяти и состоянием графического оборудования.

Я использую Win7. Мне интересно, есть ли какое-нибудь руководство, чтобы сказать мне, как получить стабильную / постоянную среду для тестирования производительности?

1 Ответ

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

Есть много способов сделать это - то, что я обычно делаю для своего тестирования, - это использование WAIK (Windows Automated Installation Kit, доступный бесплатно от Microsoft) для развертывания минимальной системы Windows 7 на отдельной рабочей станции.

Затем необходимо рассмотреть / изменить следующие элементы конфигурации (постарайтесь не слишком сильно отклоняться от типичного пользовательского компьютера, иначе ваш тест не будет конструктивным):

  • Установите для файла подкачки статическое 2x RAM
  • Отключите автоматическое обновление
  • Отключите индексацию диска

Они представляют собой достаточно оптимальную среду для тестирования, которая по-прежнему доступна энтузиастами, следовательно, может быть представителем опытного пользователя (даже если я использую автоматическое обновление и индексацию накопителя, я планирую их оба на время, когда я ухожу / сплю)

Что касается кэшей и использования памяти - по крайней мерев Win7 Professional вы можете создать сценарий удаленного запуска - например, у меня будет сценарий, запускающий мой тест в течение ночи (для больших регрессионных тестов), перезапускающий ОС после каждого запуска.Или я бы запускал один и тот же тест 5-10 раз без перезагрузки, чтобы посмотреть, не изменится ли использование кэша.

Наконец, есть переключатели загрузчика для управления количеством процессоров и объемом доступной оперативной памяти - мой тестовый компьютерAMD Phenom X6 с 16 ГБ ОЗУ, но нам нужно проверить, как изменяется производительность с количеством ядер (у некоторых пользователей будут одноядерные системы, а у некоторых - многоядерные системы) и с объемом ОЗУ (от1-16GB).

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

...