Вчера вечером в Planet состоялся разговор на тему онлайн-планирования мощности. Некоторые студенты спросили, как установить базовый уровень производительности команды, поэтому сегодня я поделюсь старой статьей с небольшими изменениями. Заинтересованные студенты могут обратиться к этой статье. Практикуйте идеи и пытайтесь реализовать их в своей команде.
По сравнению с другими терминами тестирования производительности, такими как параллелизм, TPS и т. д., базовый уровень производительности редко упоминается. В доступной информации базовый уровень производительности часто интерпретируется как эталонное тестирование или мониторинг производительности. Судя по моему личному практическому опыту, в такой трактовке есть определенное отклонение.
Эта статья,Объединю свой опыт упражнения,Поделитесь своим пониманием базового уровня производительности,а также Практические методы установления базовых показателей производительности。
Базовый уровень по-английски — baseline, что переводится как базовый уровень. Простое понимание его значения таково: предположим, что мы проводим какой-то эксперимент и результаты эксперимента улучшаются. Объектом сравнения этого улучшения является так называемый базовый уровень в математике. , базовый уровень можно понимать как эталон.
Метод базовой оценки — это базовый научный метод оценки, который в основном используется для оценки развития и изменения целей и связанного с ними содержания. Этот метод имеет четыре характеристики:
В области исследований и разработок программного обеспечения базовый уровень представляет собой стабильное состояние программного обеспечения на определенном этапе и является основой для перехода в следующее звено (ворота качества). Таким образом, когда базовый уровень сформирован, можно считать, что текущий статус программного обеспечения относительно стабилен, и соответствующие студенты могут быть уведомлены о необходимости вынести оценочные суждения и перейти к следующему шагу (дымовой тест прошел формальный тест).
Базовый уровень можно рассматривать как более формальный стандарт. После того, как первоначальный базовый уровень установлен, данные, полученные в результате каждого последующего теста, необходимо фиксировать (есть различия) до тех пор, пока данные не сформируются в пределах статистического интервала (основной версии или квартала). ) Новая базовая линия. Таким образом, в области тестирования производительности базовый уровень производительности имеет следующие характеристики:
В управлении проектами и разработке программного обеспечения мы часто слышим термины контрольная точка и этап. Контрольные точки (сформулированные по порядку) можно рассматривать как стандарты входа и выхода для наименьшего модуля, контрольные точки (сформулированные в соответствии с ключевыми результатами) являются более важными контрольными точками, а базовые уровни (сформулированные в соответствии с набором ключевых результатов) можно рассматривать как является важной вехой.
Традиционное тестирование производительности часто основано на проекте, то есть каждая реализация теста производительности рассматривается как проект, результаты теста производительности оцениваются, чтобы увидеть, соответствуют ли они ожидаемым показателям, и отчет о тестировании производительности выдается после достижения стандартов. В следующий раз, когда появятся требования к производительности, снова начните анализировать требования, писать скрипты, готовить тестовые данные и повторять предыдущие действия.
Преимущество этого подхода в том, что рабочую нагрузку легко измерить, а результат измеряется количеством проектов и интерфейсов, что является простым и грубым подходом. Однако недостатком является отсутствие интуитивного и последовательного отображения изменений в общей производительности системы, а понимание производительности системы часто является частичным, без глобальной перспективы. Естественно, при обеспечении онлайн-стабильности возникнут различные проблемы.
Преимущество базового уровня производительности заключается в том, что,с одной стороныОбеспечивает интуитивно понятные и непрерывные тенденции изменения производительности системы, что облегчает быстрое понимание долгосрочных изменений производительности системы.;Другойс одной стороны ЭтоПоказатели, представляющие базовый уровень производительности, являются более универсальными, то есть они образуют стандарт. Создание этой стандартизированной системы может снизить затраты на управление и связь и обеспечить хорошую основу для обеспечения стабильности всей системы.。
Чтобы установить базовые показатели производительности, вот моя собственная практика:
1. Выберите относительно стабильный и основной бизнес-модуль (например, бизнес по логистике заказов на поиск продуктов в электронной коммерции);
2. Покрытие тестовых сценариев покрывается пакетами в соответствии с приоритетом (например, приоритет отдается уровню P0, а затем постепенно покрывается P1/P2);
3. Выберите индикаторы, которые могут наглядно представить результаты изменений производительности и достичь консенсуса внутри команды (например, QPS, TPS, 99RT и использование ресурсов соответствующих сервисов);
4. Скрипты и данные, соответствующие сценарию покрытия, должны обновляться в режиме реального времени после итерации (отслеживать изменения на этапе кодирования, своевременно проводить совместную отладку и обновлять соответствующие тестовые данные);
5. Действия по выполнению теста производительности должны выполняться автоматически и регулярно, насколько это возможно (если во время автоматического выполнения возникают проблемы или результаты теста являются ненормальными, их можно выполнить вручную и наблюдать в режиме реального времени. Аномальные данные и журналы также должны быть сохранены). быстро записывается для облегчения последующего исследования и оптимизации);
6. Результаты выполнения теста производительности лучше всего записывать и отображать посредством автоматической записи + ручной настройки (отображение может отображаться в виде круговых диаграмм/линейных диаграмм/столбчатых диаграмм и т. д., а также предусмотрены функции групповой фильтрации и сравнения). );
7. В результатах каждого теста производительности будет определенная ошибка (при условии, что все условия остаются неизменными, также будут ошибки в результатах каждого выполнения, причем положительные и отрицательные значения ошибки могут быть 1%-5%);
8. Отображение базового уровня производительности и статистический интервал могут отображаться в соответствии с различными измерениями, такими как номер версии и квартал (если бизнес сложный и команда большая, можно добавить отображение и фильтрацию элементов бизнес-домена или даже BU);
9. Первоначальная версия базового плана производительности может быть основана на результатах большой итерации версии или знакового проекта, а последующие обновления базового плана производительности будут изменены и скорректированы в зависимости от конкретных обстоятельств (например, значительных изменений в бизнес-требованиях). реконструкция системы);
10. Помните: базовый анализ производительности должен выполняться в независимой и стабильной среде, а конфигурация сервисного оборудования среды предпочтительно должна быть уменьшена в той же пропорции, что и онлайн-среда!