Корпорация Intel разработала методику тестирования производительности корпоративных ПК, которая позволяет оценить пользовательское восприятие быстродействия и оптимизировать программно-аппаратное обеспечение. В итоге эффективность платформ растет, а пользователи по-другому начинают оценивать производительность своих ПК. Очевидно, что компьютеры нового поколения работают заметно быстрее своих предшественников. В то же время усложняется и программное обеспечение, ресурсоемкость которого не позволяет пользователям в полной мере оценить все преимущества модернизированной аппаратной конфигурации. Методика оценки производительности, разработанная в корпорации Intel, способствует решению данной проблемы, повышая эффективность ИТ-отделов, производительность и удобство работы сотрудников и предоставляя сведения, которые помогают сторонним поставщикам ПО оптимизировать свою продукцию.

Существующие бизнес-требования
Несмотря на то, что сотрудники Intel используют самое разнообразное ПО, у всех возникает одно общее замечание к офисным портативным ПК: вновь закупленные ноутбуки оказываются ничуть не быстрее списанных, а время их автономной работы не увеличивается. Анализ, проведенный отделом информационных технологий, показал, что недовольство пользователей обусловлено несколькими факторами: высокой ресурсоемкостью используемого ими ПО, неоправданными требованиями к быстродействию компьютеров и неоптимальным составом корпоративного комплекта ПО.

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

Неоптимизированный комплект
ПО. Так сложилось, что комплект ПО для корпоративных ПК обновлялся не периодически, а при определенных событиях, например при появлении новой платформы в парке ПК. Специально для нового компьютера мы добавляли в корпоративный комплект ПО систему логики, которая устанавливала все необходимые драйверы. Иногда мы включали в него и программные дополнения. В результате мы поняли, что корпоративный комплект приложений требует оптимизации, которая сведет к минимуму его влияние на быстродействие ПК и комфортность работы пользователя.

Оптимизируя корпоративный комплект ПО, мы один раз в 10 недель стали выпускать его модернизированные версии (см. врезку на стр. 7). В рамках данного временного периода мы успевали тестировать отдельные компоненты, например новые и обновленные приложения, и выпускать обновленную версию, в которую входили операционная система, драйверы, дополнения для программ безопасности и управления и т. д.
Хотя оптимизация комплекта была серьезным достижением, нашу службу контроля качества в первую очередь интересовала производительность отдельных приложений, а не всей платформы, хотя именно на общее быстродействие ПК поступали жалобы пользователей. Поэтому возникла необходимость в комплексной стратегии планирования и выпуска корпоративного комплекта ПО, которая позволила бы оценивать ресурсоемкость приложений, а также производительность и стабильность всей платформы.

Решение
Для управления производительностью платформ нам потребовалось понять, на основе каких показателей ее оценивают пользователи. Разработав собственный пакет тестов, мы смогли измерить быстродействие платформ, оценить влияние оптимизации на производительность и скорректировать пользовательское восприятие этой производительности. Таким образом, мы смогли контролировать, как новые или обновленные приложения влияют на производительность клиентских ПК.

Разработка программы для оценки производительности платформы
Прежде всего необходимо было определиться с параметрами, которые нам нужно измерять. Лабораторные тесты не подходили, поскольку их результаты совершенно неинформативны для наших исследований. Нам нужно было проверить свои программы в пользовательской среде, в условиях, когда на платформе запускались стандартные приложения. Определившись с параметрами, мы занялись разработкой пакета тестов, результаты которых наиболее интересны для анализа. Проанализировав результаты тестов, мы сможем оптимизировать производительность платформы, усовершенствовать процессы принятия решений и объяснить пользователям, почему быстродействие корпоративных ПК кажется им недостаточным.
Определение пользовательских требований к производительности
Чтобы понять, какие критерии пользователи используют для оценки производительности своих компьютеров, мы изучили, в каких приложениях они работают. Оказалось, что при определении производительности пользователи учитывали следующие параметры:

  • общее быстродействие системы;
  • возможности быстрой обработки данных;
  • стабильность системы;
  • время автономной работы.

Мы выделили три основные группы программ, которые запускались на компьютерах сотрудников корпорации:

  • Офисные приложения, в том числе текстовые и табличные редакторы, программы для создания презентаций, приложения для просмотра вебстраниц и т. п.
  • Фоновые процессы, например система предотвращения вторжения на уровне главного компьютера (HIPS) и модули для обновления ПО.
  • Программные модули управления питанием ПК: включения и выключения, перевода ПК в ждущий или спящий режимы.

Выбор тестов для измерения производительности
Для измерения общей производительности платформы мы решили воспользоваться комбинацией готовых тестов и нескольких программных модулей собственной разработки (Рис. 2).
Разработанный нами тестовый комплект выполнял следующие функции:
1. Подготовка (действия выполняются вручную):
- Подключение клиентского ПК к сети.
- Проверка системы на соответствие минимальным требованиям безопасности, установка стандартной операционной системы
и комплекта приложений. Установка и удаление приложений, изменение некоторых параметров системы для оценки изменений быстродействия.
- Запуск и синхронизация приложения для электронной почты.
- Отключение клиентского ПК от сети.
2. Определение технических характеристик ПК (запуск стандартных эталонных тестов для сбора сведений о конфигурации ПК):
- процессора;
- жесткого диска;
- ОЗУ;
- графического процессора (GPU).
3. Тестирование быстродействия (с использованием автоматических программных модулей, запускаемых в среднем 6 раз):
- обработки объемного файла в текстовом редакторе;
- обработки объемного файла в табличном редакторе;
- загрузки приложения для создания презентаций;
- загрузки приложения для просмотра веб-страниц.
4. Тесты времени выполнения (с использованием автоматического и ручного запуска программных модулей):
- включения компьютера;
- перехода в спящий режим;
- перехода в ждущий режим;
- выключения компьютера.

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

Методика тестирования
На первом этапе тестирования мы выбрали несколько приложений, часто используемых сотрудниками и наиболее подходящих для оценки производительности. Эти приложения, входящие в стандартный корпоративный комплект ПО, мы запускали на десятке портативных и нескольких настольных ПК, реализованных на базе различных архитектур Intel®. Для тестирования мы также воспользовались ПК, приобретенным у поставщиков аппаратных средств вместе с комплектом программного обеспечения, который включал в себя офисное ПО, антивирусную программу и несколько дополнений, установленных службами автоматического обновления. Для оценки влияния, которое какое-либо приложение может оказать на общую производительность платформы, мы удаляли это приложение с клиентского ПК на этапе подготовки (см. выше), после чего ПК отключался от локальной сети и тестирование возобновлялось. По окончании тестирования ранее удаленное приложение восстанавливалось.

Для учета человеческого фактора, обуславливающего различную скорость при ручном выполнении некоторых действий, мы приняли погрешность измерений равной ±5%.

Новый подход к выбору компонент для корпоративного комплекта ПО
Тестирование - лишь часть сложного процесса планирования и выпуска, предназначенного для управления пользовательским восприятием производительности, обеспечения высокого качества, совершенствования процессов принятия решений и снижения совокупной стоимости владения (ТСО) корпоративной ИТ-инфраструктуры. Целью нашего исследования, проводимого в рамках программы обеспечения качества, являлось определение реального влияния отдельных приложений на общую производительность платформы.
В течение 10 недель, отведенных нами на создание оптимизированного корпоративного комплекта ПО, мы смогли:

  • Сократить количество электронных писем, отправляемых нашим пользователям, на 30%.
  • Локализовать и устранить больше неполадок за меньшее время.
  • Установить каждую версию комплекта вместе с 87 корпоративными продуктами, находящимися в разработке.
  • Привлечь пользователей к оптимизации комплекта приложений, обработать их отзывы о работе ПО, провести обучение и обсудить с ними изменение быстродействия клиентских платформ.
  • Проанализировать результаты тестирования, получить полезную информацию, которая может послужить основанием для модификаций в корпоративных приложениях и приложениях других поставщиков.

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

Анализ результатов производительности
С помощью разработанного нами комплекта эталонных тестов можно было отследить, когда системе не хватало ресурсов, и определить причины падения производительности.
 Оказалось, что жалобы на недостаточную производительность ПК, на которых был установлен корпоративный пакет программ, имели определенные основания: быстродействие таких ПК не менее чем на 33% отставало от быстродействия других ПК (Рис. 4).

Тестирование также показало:

  • Работа системы HIPS снижала производительность платформ в среднем на 11 %.
  • Приложения, отвечающие за автоматическое обновление, снижали производительность платформ в среднем на 9%.
  • Распространенный проигрыватель мультимедийных файлов приводил к сокращению времени автономной работы ноутбуков на 20% и снижал их производительность.

Мы также отметили, что производительность систем падала в прямой зависимости от времени, в течение которого на них работали с комплектом корпоративного ПО (например, быстродействие одного из тестируемых ноутбуков снизилось на 7,6% за три месяца его использования).

Повышениепроизводительностиплатформ
Результаты проведенных нами исследований доказывают, что важно не только оценивать ресурсоемкость корпоративных приложений, но и своевременно проводить техническое обслуживание корпоративных ПК.
Как раз для этого мы разработали поэтапный план, который на 10% снизил влияние корпоративного пакета ПО на производительность ПК. Рекомендуем вам выполнить следующие действия:

  • Оценить потери быстродействия, связанные с работой каждого приложения.
  • Устранить самые простые неполадки
  • Оценить влияние подключения к сети на производительность (мы тестировали клиентские ПК, отключенные от сети).
  • Протестировать ранее установленные комплекты приложений.
  • Воспользоваться рекомендованными нами эталонными тестами за 6-8 месяцев до того, как комплект ПО будет установлен на пользовательские ПК.
  • Эффективно взаимодействовать с независимыми поставщиками ПО (ISV) для поиска решений проблем с производительностью.
  • Анализировать результаты тестов перед приобретением нового ПО для корпоративных комплектов.
  • Поделиться сведениями о наших исследованиях с коллегами и предложить действия по повышению эффективности наших мероприятий.

В Таблице 1 приведены задачи первых 2 этапов оптимизации корпоративного комплекта ПО и результаты, связанные с повышением быстродействия платформ. Оптимизация №1 обеспечила прирост быстродействия на 8-12%, вторая - на 12-15%.
На 3-м этапе тестирования мы провели оптимизацию с учетом рекомендаций, полученных от поставщиков ПО, результатов контроля производительности корпоративного ПО и анализа предыдущих оптимизаций. В будущем мы планируем достичь сокращения ресурсоемкости корпоративного комплекта ПО еще на 5-10%.

Преимущества для ведения бизнеса
Использование результатов оценки производительности обеспечивает несколько преимуществ для ведения бизнеса корпорации.
Корректировка требований, предъявляемых пользователями к производительности своих ПК
Результаты анализа быстродействия клиентских ПК мы обсудили с их пользователями, чтобы помочь им понять причины недостаточной, на их взгляд, производительности. Для оценки степени удовлетворенности пользователей мы составили несколько графиков, один из которых приведен на Рис. 5. Мы общались с пользователями корпоративных компьютеров в блогах ИТ-отдела Intel. Некоторые сотрудники проявили неплохую осведомленность в вопросах оптимизации программного кода, оптимизации энергопотребления ПК и прочих технических проблемах, ведь эти вопросы связаны с их непосредственной рабочей деятельностью. В блогах мы смогли пообщаться как с этими специалистами, так и с другими заинтересованными лицами. В результате мы нашли точки соприкосновения и общие области интересов.

Сетевое общение быстро переросло в плодотворные обсуждения и ускорило выявление причин снижения быстродействия. Мы узнавали мнения пользователей об устанавливаемых приложениях и изменениях в быстродействии их ПК, что помогало нам измерять и анализировать производительность. Пользователи, в свою очередь, видели, что сотрудники ИТ-отдела активно сотрудничают с ними для общей пользы.

Общение с поставщиками ПО
Наши исследования позволили собрать достаточно информации, на основе которой независимые поставщики ПО разработали мероприятия по оптимизации своей программной продукции. Например, в результате нашего сотрудничества с одним из ведущих поставщиков ПО его продукция была оптимизирована для различных схем управления питанием, что увеличило время автономной работы портативных ПК.

Оптимизация процесса принятия решений
Очередным преимуществом анализа производительности клиентских платформ стало повышение информативности, что позволяет принимать более верные решения при приобретении нового ПО. Теперь мы можем протестировать несколько новых приложений и выбрать из них оптимальное для пользователей по критериям быстродействия и функциональности. На основе анализа данных о производительности пользователи могут самостоятельно принять обоснованные решения при выборе конфигурации аппаратного обеспечения их ПК.

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

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

  • Определение разницы в быстродействии, что помогает пользователям оценить преимущества различных конфигураций программно-аппаратного обеспечения и выбрать оптимальную.
  • Мониторинг производительности парка корпоративных ПК в течение всего срока их службы.
  • Возможность сравнивать показатели работы вашей компании с показателями других ИТ-организаций.

Мы уверены, что комплексное измерение общей производительности платформ (а не просто отдельных показателей быстродействия) и управления производительностью с привлечением пользователей выгодно и вполне по силам другим ИТ-компаниям.