MySQL: как измерить производительность сервера?

Тестирование (бенчмаркинг) MySQLВ предыдущей статье мы выяснили, для чего нужно проводить эталонное тестирование (бенчмаркинг) сервера MySQL. Существует две основные стратегии эталонного тестирования: можно тестировать приложение целиком или проверить лишь MySQL сервер. Мы назовем эти стратегии со­ответственно полностековым и покомпонентным эталонным тестированием. Есть несколько причин для измерения производительности приложения в целом вместо тестирования только MySQL.

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

Однако иногда нет необходимости получать информацию обо всем приложении. Возможно, нужно просто выполнить эталонное тестирование MySQL, по крайней мере на начальном этапе. Такое эталонное тестирование полезно, если вы хотите:

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

К сожалению, настройка реалистичного эталонного теста может оказаться сложной и трудоемкой задачей, поэтому, если сумеете получить копию рабочего набора дан­ных, считайте себя счастливчиком. Но это может оказаться невозможным — напри­мер, вы создаете новое приложение, которым пользуются немногие и в котором еще недостаточно данных. Если вы хотите знать, как оно будет работать, когда увели­чится, то у вас нет другого выхода, кроме как сгенерировать больший объем данных и значительную нагрузку.

Что измерять. Перед началом эталонного тестирования нужно определить цели — собственно, это следует сделать даже до начала проектирования тестов. Цели опреде­лят инструменты и технику, которые вы будете использовать для получения точных осмысленных результатов. Постарайтесь сформулировать цели в виде вопросов, на­пример: «Лучше ли этот процессор, чем тот?» или «Будут ли новые индексы работать эффективнее, чем нынешние?».

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

Рассмотрим следующие показатели и обсудим, как они соответствуют вашим.

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

Теперь от теории (стратегии) тестирования базы данных MySQL перейдем к практике (т. е. тактике) тестирования сервера.

 

Вас заинтересует / Intresting for you:

Модель развития базы данных My...
Модель развития базы данных My... 1417 просмотров Ирина Светлова Thu, 10 Jan 2019, 12:29:03
Выбор оптимальных типов данных...
Выбор оптимальных типов данных... 9769 просмотров Валерий Павлюков Sun, 27 Oct 2019, 15:24:19
Обзор архитектуры MySQL
Обзор архитектуры MySQL 4571 просмотров Ирина Светлова Wed, 09 Jan 2019, 04:25:21
Транзакции в базе данных MySQL
Транзакции в базе данных MySQL 21512 просмотров Ирина Светлова Mon, 07 Jan 2019, 05:18:23
Печать
Войдите чтобы комментировать