QPS
QPS Queries Per Second
скорость запросов в секунду исерверСоответствующее количество запросов в секунду относится к конкретному серверу запросов.в указанное времяМера того, сколько трафика обрабатывается, то есть количество запросов ответа в секунду, что является максимальной пропускной способностью.
TPS
TPS Transactions Per Second
То есть транзакций в секунду. Транзакция — это процесс, в котором клиент отправляет запрос на сервер, а сервер отвечает. Клиент начинает отсчет времени при отправке запроса и заканчивает отсчет времени после получения ответа от сервера, чтобы рассчитать использованное время и количество завершенных транзакций.
Разница между QPS и TPS
Личное понимание следующее:
1. Tps — количество транзакций в секунду, в т.ч.
1) Пользователь запрашивает сервер 2) Собственная внутренняя обработка сервера 3) Сервер возвращает пользователю
Эти три процесса могут выполнять N из этих трех процессов в секунду, а Tps равно N;
2. Qps в принципе похож на Tps, но разница в том, что одно посещение страницы формирует один Tps, но один запрос страницы может генерировать несколько запросов к серверу, и сервер может считать эти запросы как "Qps" среди них.
пример
Например: доступ к странице будет запрашивать сервер 3 раза, после размещения сгенерировать «T», сгенерировать 3 «Q»
Например: большой едок может съесть 10 булочек за одну секунду, а девочка может съесть 1 булочку за 0,1 секунды, значит, они одинаковы? Ответ — нет, потому что эта девочка не может съесть 10 булочек за одну секунду, возможно, ей придется есть долго. В настоящее время король с большим желудком эквивалентен TPS, а эта девушка - QPS. Несмотря на то, что они похожи, они на самом деле разные.
параллелизм
Параллелизм (concurrency): относится к количеству запросов, которые система может обрабатывать одновременно, что также отражает грузоподъемность системы. Это значение можно получить, проанализировав количество журналов доступа в течение 1 с машины.
пропускная способность
пропускная способность: Пропускная способность относится к количеству запросов, обработанных системой в единицу времени. TPS и QPS являются обычно используемыми количественными показателями пропускной способности.
Элементы пропускной способности системы
Пропускная способность (нагрузочная способность) системы тесно связана с потреблением ЦП запросов, внешних интерфейсов, операций ввода-вывода и т. д.
Чем выше потребление ЦП одним запросом, тем медленнее интерфейс внешней системы и скорость воздействия ввода-вывода, тем ниже пропускная способность системы и наоборот.
Важные параметры
QPS(TPS), одновременный номер, время отклика
- QPS(TPS): количество запросов/транзакций в секунду.
- Параллелизм: количество запросов/транзакций, обрабатываемых системой одновременно.
- Время отклика: обычно берут среднее время отклика
связь
QPS (TPS) = количество одновременных запросов / среднее время ответа
Пропускная способность системы обычно определяется двумя факторами: QPS (TPS) и числом параллелизма.Эти два значения каждой системы имеют относительное предельное значение.Под давлением доступа сценария приложения, пока определенный элемент достигает максимального значения системы, пропускная способность системы Если давление продолжает расти, пропускная способность системы вместо этого будет уменьшаться Причина в том, что система перегружена, переключение контекста, потребление памяти и другие факторы приводят к снижению производительности системы .
PV
PV(Просмотр страницы): количество просмотров страниц, то есть количество просмотров страниц или кликов, рассчитывается один раз при каждом обновлении пользователя. Его можно получить, посчитав логи доступа сервиса за один день.
UV
UV(Уникальный посетитель): Уникальный посетитель, подсчитывает количество пользователей, посетивших сайт в течение 1 дня. Журнал доступа к сервису за один день можно посчитать и получить дедупликацией на основе уникального ID пользователя. Время отклика (RT): Время отклика — это время, которое требуется системе для ответа на запрос, обычно это среднее время отклика. Его можно получить через веб-сервер, такой как Nginx и Apache.
DAU
DAU(Daily Active User), количество активных пользователей за день. Он часто используется для отображения работы веб-сайтов, интернет-приложений или онлайн-игр. DAU обычно подсчитывает количество пользователей, которые вошли в систему или использовали продукт в течение одного дня (статистический день) (удалить пользователей, которые повторно вошли в систему), что аналогично концепции UV
MAU
MAU(Месяц активного пользователя): количество активных пользователей в месяц, которое относится к количеству активных пользователей в месяц после дедупликации веб-сайтов, приложений и т. д.
Оценка пропускной способности системы
При проектировании системы необходимо учитывать влияние операций ЦП, операций ввода-вывода, внешних факторов отклика системы и предварительные оценки производительности системы.
Обычно в условиях спроса мы оцениваем QPS, и помимо количества параллелизма есть еще одно измерение: дневной pv.
Наблюдая за журналом доступа системы, обнаруживается, что в случае большого количества пользователей трафик доступа в один и тот же период времени в каждый период времени практически одинаков. Как каждое утро в будний день. Пока мы можем получить дневную диаграмму потока и число запросов в секунду, мы можем рассчитать дневной поток.
Обычный технический подход:
1. Найдите самые высокие значения TPS и дневного PV системы.Эти два элемента имеют относительно стабильную взаимосвязь (за исключением праздников и сезонных факторов)
2. Получите наивысшее значение TPS с помощью стресс-тестирования или эмпирической оценки, а затем следуйте соотношению 1, чтобы рассчитать самую высокую ежедневную пропускную способность системы. Китайцы B2B и Taobao сталкиваются с разными группами клиентов.Поведение этих двух групп клиентов в сети неприменимо, и соотношение отношений TPS и PV между ними также различно.
Основные понятия и расчетные формулы тестирования производительности программного обеспечения
Проблемы с производительностью программного обеспечения
На какую производительность следует обратить внимание при тестировании производительности программного обеспечения?
Прежде всего, цель разработки программного обеспечения состоит в том, чтобы позволить пользователям использовать его.Давайте сначала проанализируем с точки зрения пользователя, на какую производительность пользователи должны обращать внимание.
Для пользователя, когда пользователь нажимает кнопку, ссылку или отправляет инструкцию, пока система не представит результат в форме, воспринимаемой пользователем, время, затрачиваемое на этот процесс, представляет собой интуитивное впечатление пользователя о производительности программного обеспечения. Это то, что мы называем временем отклика. Когда время отклика мало, пользовательский опыт очень хороший. Конечно, время отклика пользовательского опыта включает в себя личные субъективные факторы и объективное время отклика. При разработке программного обеспечения нам необходимо учитывать как сделать его лучше. Объедините эти две части, чтобы добиться наилучшего пользовательского опыта. Например, когда пользователь запрашивает большой объем данных, мы можем сначала отобразить извлеченные данные для пользователя и продолжить извлекать данные, пока пользователь их просматривает.В это время пользователь не знает, что мы делаем. на заднем фоне.
Пользователя волнует соответствующее время действия пользователя.
Во-вторых, мы рассматриваем точки производительности, требующие внимания с точки зрения администратора.
1. Время отклика
2. Разумно ли использование ресурсов сервера?
3. Разумно ли использование ресурсов сервера приложений и базы данных
4. Можно ли расширить систему?
5. Максимальное количество обращений пользователей, поддерживаемых системой, и какова максимальная пропускная способность системы для бизнес-процессов.
6. Где могут быть узкие места в производительности системы?
7. Замена этих устройств может улучшить производительность
8. Может ли система поддерживать бизнес-доступ 7×24 часа?
Опять же, рассмотрим это с точки зрения разработчиков (дизайнеров).
1. Разумна ли архитектура?
2. Разумна ли структура базы данных?
3. Есть ли у кода проблемы с производительностью?
4. Есть ли в системе необоснованное использование памяти?
5. Есть ли в системе необоснованный метод синхронизации потоков?
6. Существует ли в системе необоснованная конкуренция за ресурсы?