SlideShare a Scribd company logo
1 of 111
Download to read offline
MySQL:
Производительность для DevOps
• Света Смирнова
• Инженер тех. поддержки MySQL
• Автор
• MySQL Troubleshooting
• JSON UDF функции
• FILTER clause для MySQL
• Докладчик
• Percona Live, OOW, Fosdem,
DevConf, HighLoad...
2 ©2021 Percona
•Введение
•Оборудование
•Конфигурация MySQL
Важные Переменные
•Отладка Запросов
Индексы
Конфигурация Оптимизатора
Содержание
3 ©2021 Percona
Введение
• Сервер баз данных
• С 25-ти летней историей
• Популярные forks
• Percona Server for MySQL
• MariaDB Server
• Поддержка репликации
Что такое
MySQL?
5 ©2021 Percona
Коннекторы: C, JDBC, ODBC, Python, ...
Пул Соединений: Авторизация, Кэши
Интерфейс SQL
Парсер
Оптимизатор
Кэши и Буфера:
Глобальные
Движка
Движки: InnoDB, MyRocks, ...
Файловая система: Данные,
Индексы, Журналы
Архитектура
MySQL
- mysqld
- Коннекторы
- Оптимизатор
- Буфера
- Движки
- Управление
6 ©2021 Percona
• Ваши собственные машины
• Облака
• Контейнеры (Kubernetes)
Где Работает
MySQL в 2021?
7 ©2021 Percona
Percona K8 Operator for PXC
MySQL Operator
Операторы
Kubernetes для
MySQL
8 ©2021 Percona
• 610+ настроек
• Несколько движков
• Репликация
• Асинхронная
• Синхронная
• Современный SQL
• Встроенная диагностика
• SQL standard
• Специфичная для MySQL
Прост ли
MySQL?
9 ©2021 Percona
Çàïðîñ
Êîíôèãóðàöèÿ
Æåëåçî
Что Влияет на
Скорость?
10 ©2021 Percona
Оборудование
• Ваши машины
• Опции операционной системы
Как
Настраивать?
12 ©2021 Percona
• Ваши машины
• Опции операционной системы
• Облака
• Консоль администратора
Как
Настраивать?
12 ©2021 Percona
• Ваши машины
• Опции операционной системы
• Облака
• Консоль администратора
• Percona Kubernetes Operator
cr.yaml
 pxc.resources.requests.memory
 pxc.resources.requests.cpu
 pxc.resources.limits.memory
 pxc.volumeSpec.resources.requests.storage
Как
Настраивать?
12 ©2021 Percona
• Память
• Диск
• CPU
• Сеть
Что
Настраивать?
13 ©2021 Percona
• Никакого swapping
• sysctl vm.swappiness=1
Конфигурация
Памяти
14 ©2021 Percona
• Никакого swapping
• sysctl vm.swappiness=1
• NUMA interleave
• Включить в BIOS
Конфигурация
Памяти
14 ©2021 Percona
• Никакого swapping
• sysctl vm.swappiness=1
• NUMA interleave
• Включить в BIOS
• Больше - лучше
Конфигурация
Памяти
14 ©2021 Percona
• Никакого swapping
• sysctl vm.swappiness=1
• NUMA interleave
• Включить в BIOS
• Больше - лучше
• Доступ к памяти быстрее диска
Конфигурация
Памяти
14 ©2021 Percona
• Никакого swapping
• sysctl vm.swappiness=1
• NUMA interleave
• Включить в BIOS
• Больше - лучше
• Доступ к памяти быстрее диска
• Часто используемые данные
должны быть в памяти
Конфигурация
Памяти
14 ©2021 Percona
Доступ к
памяти или к
диску?
15 ©2021 Percona
• У MySQL есть собственные
буферы для часто используемых
данных
Почему нельзя
использовать
Swap?
16 ©2021 Percona
• У MySQL есть собственные
буферы для часто используемых
данных
• OS может и не знать какие данные
потребуются MySQL
• OS может использовать
алгоритмы, неидеальные для
производительности MySQL
Почему нельзя
использовать
Swap?
16 ©2021 Percona
• У MySQL есть собственные
буферы для часто используемых
данных
• OS может и не знать какие данные
потребуются MySQL
• OS может использовать
алгоритмы, неидеальные для
производительности MySQL
• Никогда не используйте swap
для MySQL!
Почему нельзя
использовать
Swap?
16 ©2021 Percona
• Глобальные буферы
• Используют память на протяжении
всей жизни процесса
 InnoDB Buffer Pool
 Таблицы в Performance Schema
Как MySQL
Использует
Память
17 ©2021 Percona
• Глобальные буферы
• Сессионные
• Выделяются при открытии
соединения
• Освобождаются при закрытии
 Connection и result buffers: с net_buffer_length
до max_allowed_packet
Как MySQL
Использует
Память
17 ©2021 Percona
• Глобальные буферы
• Сессионные
• Специфические для операций
• На время операции
• Может быть выделено несколько
 join_buffer_size: для каждой пары таблиц в
JOIN
 tmp_table_size: для каждой временной таблицы
Как MySQL
Использует
Память
17 ©2021 Percona
• Быстрее - лучше
• SSD
• NVMe
• Spinning disk
Диск
18 ©2021 Percona
• Быстрее - лучше
• SSD
• NVMe
• Spinning disk
• Поддержка параллельной записи
Диск
18 ©2021 Percona
• Быстрее - лучше
• SSD
• NVMe
• Spinning disk
• Поддержка параллельной записи
• Battery-backed cache
Диск
18 ©2021 Percona
• Таблицы
Как MySQL
Использует
Диск
19 ©2021 Percona
• Таблицы
• Журналы
• Бинарный
• Движка
 InnoDB redo log
• Ошибок, general, audit, ...
Как MySQL
Использует
Диск
19 ©2021 Percona
• Таблицы
• Журналы
• Бинарный
• Движка
 InnoDB redo log
• Ошибок, general, audit, ...
• Временные таблицы на диске
Как MySQL
Использует
Диск
19 ©2021 Percona
• Таблицы
• Журналы
• Бинарный
• Движка
 InnoDB redo log
• Ошибок, general, audit, ...
• Временные таблицы на диске
• Вы можете использовать
разные диски
Как MySQL
Использует
Диск
19 ©2021 Percona
• IO scheduler
• [noop] or [deadline]
• sudo echo noop 
/sys/block/DISK/queue/scheduler
or sudo echo deadline 
/sys/block/DISK/queue/scheduler
Процессор
20 ©2021 Percona
• IO scheduler
• [noop] or [deadline]
• sudo echo noop 
/sys/block/DISK/queue/scheduler
or sudo echo deadline 
/sys/block/DISK/queue/scheduler
• CPU governor
• Set to performance
Процессор
20 ©2021 Percona
• IO scheduler
• [noop] or [deadline]
• sudo echo noop 
/sys/block/DISK/queue/scheduler
or sudo echo deadline 
/sys/block/DISK/queue/scheduler
• CPU governor
• Set to performance
• Больше ядер - лучше
Процессор
20 ©2021 Percona
• Один поток на соединение
• CPU используется только для
активных
Как MySQL
Использует
Процессор
21 ©2021 Percona
• Один поток на соединение
• CPU используется только для
активных
• Фоновая работа движка
Как MySQL
Использует
Процессор
21 ©2021 Percona
MySQL Ñåðâåð
Äâèæîê
Соединения и
Потоки
Движка
22 ©2021 Percona
? = ядер?
Что
Происходит с
Потоками?
23 ©2021 Percona
? = ядер?
Да Выполняются
Что
Происходит с
Потоками?
23 ©2021 Percona
? = ядер?
Да Выполняются
Нет Ждут в очереди
Что
Происходит с
Потоками?
23 ©2021 Percona
? = ядер?
Да Выполняются
Нет Ждут в очереди
? Поддерживает ли диск
параллельную запись?
Что
Происходит с
Потоками?
23 ©2021 Percona
? = ядер?
Да Выполняются
Нет Ждут в очереди
? Поддерживает ли диск
параллельную запись?
Да Запись
Что
Происходит с
Потоками?
23 ©2021 Percona
? = ядер?
Да Выполняются
Нет Ждут в очереди
? Поддерживает ли диск
параллельную запись?
Да Запись
Нет Ждут в очереди
Что
Происходит с
Потоками?
23 ©2021 Percona
• Быстрая
• Скорость линии
 RTT
• Пропускная способность
• Стабильность
 Для предотвращения пересылки пакетов TCP
Сеть
24 ©2021 Percona
• Быстрая
• По сети Internet
• Клиенты могу работать
• Асинхронная реплика будет
тормозить
• Синхронные кластеры работать не
будут
 При использовании опций по умолчанию ноды
будут постоянно терять соединение
 При увеличенных опциях ответы будут приходить
очень медленно
Сеть
24 ©2021 Percona
• Передача данных между клиентом
и сервером
• Обычный клиент
• Приложение
• Replication connection (IO) thread
• Передача данных между
синхронными нодами
Как MySQL
Использует
Сеть
25 ©2021 Percona
Конфигурация MySQL
• Опции сервера
• Компоненты
• Движки
 InnoDB
• Расширения
• Сервер
 Опции бинарного журнала
 Оптимизатор
Что Может
Быть
Настроено?
27 ©2021 Percona
• Глобальные
• Параметры, необходимые для всех
процессов
 Расположение файлов: datadir и т.д.
 Совместно используемые буферы
 Другое
• Сессии
• Параметры, специфические для
соединения
MySQL Option Tables
Системные
Переменные:
Что Меняют
28 ©2021 Percona
• SET [GLOBAL|PERSIST] var =
NEW_VALUE
Системные
Переменные:
Как Поменять
29 ©2021 Percona
• SET [GLOBAL|PERSIST] var =
NEW_VALUE
• Командная строка:
var=new_value
Системные
Переменные:
Как Поменять
29 ©2021 Percona
• SET [GLOBAL|PERSIST] var =
NEW_VALUE
• Командная строка:
var=new_value
• Конфигурационный файл
Default путь
• При помощи опции
defaults-file
[mysqld]
var=new_value
Системные
Переменные:
Как Поменять
29 ©2021 Percona
• Конфигурация PXC Operator
• In cr.yaml
spec:
secretsName: my-cluster-secrets
pxc:
...
configuration: |
[mysqld]
innodb_log_file_size=8G
Системные
Переменные:
Как Поменять
29 ©2021 Percona
• Конфигурация PXC Operator
• В ConfigMap
 Создайте свой конфигурационный my.cnf
[mysqld]
innodb_log_file_size=8G
Системные
Переменные:
Как Поменять
29 ©2021 Percona
• Конфигурация PXC Operator
• В ConfigMap
 Создайте свой конфигурационный my.cnf
[mysqld]
innodb_log_file_size=8G
 Создайте ConfigMap: kubectl create configmap
cluster1-pxc from-file=my.cnf
Системные
Переменные:
Как Поменять
29 ©2021 Percona
• Конфигурация PXC Operator
• В ConfigMap
 Создайте свой конфигурационный my.cnf
[mysqld]
innodb_log_file_size=8G
 Создайте ConfigMap: kubectl create configmap
cluster1-pxc from-file=my.cnf
 Перезагрузите PXC
Системные
Переменные:
Как Поменять
29 ©2021 Percona
• Глобальные и некоторые
сессионные
 8.0 Пользователь с привилегией SUPER
8.0 + Пользователь с привилегией
SYSTEM_VARIABLES_ADMIN
Динамические
Переменные:
Кто Может
Менять
30 ©2021 Percona
• Глобальные и некоторые
сессионные
 8.0 Пользователь с привилегией SUPER
8.0 + Пользователь с привилегией
SYSTEM_VARIABLES_ADMIN
• Сессионные
 8.0 Кто угодно
8.0 + Ограниченные привилегии
 SYSTEM_VARIABLES_ADMIN
 SESSION_VARIABLES_ADMIN
8.0 + Все остальные: кто угодно
Динамические
Переменные:
Кто Может
Менять
30 ©2021 Percona
• Глобальные и некоторые
сессионные
 8.0 Пользователь с привилегией SUPER
8.0 + Пользователь с привилегией
SYSTEM_VARIABLES_ADMIN
• Сессионные
 8.0 Кто угодно
8.0 + Ограниченные привилегии
 SYSTEM_VARIABLES_ADMIN
 SESSION_VARIABLES_ADMIN
8.0 + Все остальные: кто угодно
• Ограничений нет!
Динамические
Переменные:
Кто Может
Менять
30 ©2021 Percona
• Контролирующие поведение
сервера
• При старте
• С маленьких значений, растут до
максимума
Буферы:
Когда
Выделяются
31 ©2021 Percona
• Контролирующие поведение
сервера
• При старте
• С маленьких значений, растут до
максимума
• Сессионные
• При открытии соединения
Буферы:
Когда
Выделяются
31 ©2021 Percona
• Контролирующие поведение
сервера
• При старте
• С маленьких значений, растут до
максимума
• Сессионные
• При открытии соединения
• Операции
• По мере надобности
• Могут выделяться неоднократно
Буферы:
Когда
Выделяются
31 ©2021 Percona
Конфигурация MySQL
Важные Переменные
• innodb_buffer_pool_size
• Активный набор данных
InnoDB
33 ©2021 Percona
• innodb_buffer_pool_size
• innodb_log_file_size
• Изменения за час
InnoDB
33 ©2021 Percona
• innodb_buffer_pool_size
• innodb_log_file_size
• Изменения за час
• Слишком маленький
InnoDB
33 ©2021 Percona
• innodb_buffer_pool_size
• innodb_log_file_size
• Изменения за час
• Достаточный
InnoDB
33 ©2021 Percona
• innodb_buffer_pool_size
• innodb_log_file_size
• innodb_io_capacity
• Значение по умолчанию не
подходит для быстрых дисков
• Количество IOPS, которое ваш диск
может использовать
• Не ставьте слишком высоким!
InnoDB
33 ©2021 Percona
• innodb_buffer_pool_size
• innodb_log_file_size
• innodb_io_capacity
• innodb_flush_method
• В большинстве случаеав: O_DIRECT
• Тестируйте на своей системе!
InnoDB
33 ©2021 Percona
• innodb_buffer_pool_size
• innodb_log_file_size
• innodb_io_capacity
• innodb_flush_method
• innodb_thread_concurrency
• 0 или количество ядер
InnoDB
33 ©2021 Percona
• Изменение може привести к
потере данных!
Синхронизация
34 ©2021 Percona
• Изменение може привести к
потере данных!
• innodb_flush_log_at_trx_commit
1: ACID, по умолчанию
Синхронизация
34 ©2021 Percona
• Изменение може привести к
потере данных!
• innodb_flush_log_at_trx_commit
1: ACID, по умолчанию
2: Журналы пишутся при каждом
commit, синхронизируются раз в
секунду
 MySQL 8.0 может выполнить 1M INSERT-ов в
секунду
 Используйте с PXC, Galera и InnoDB Кластерами
Синхронизация
34 ©2021 Percona
• Изменение може привести к
потере данных!
• innodb_flush_log_at_trx_commit
1: ACID, по умолчанию
2: Журналы пишутся при каждом
commit, синхронизируются раз в
секунду
0: Журналы пишутся и
синхронизируются раз в секунду
Синхронизация
34 ©2021 Percona
• Изменение може привести к
потере данных!
• innodb_flush_log_at_trx_commit
1: ACID, по умолчанию
2: Журналы пишутся при каждом
commit, синхронизируются раз в
секунду
0: Журналы пишутся и
синхронизируются раз в секунду
• Раз в секунду не
гарантировано при 0 и 2
 DDL может спровоцировать более частое
 Scheduling может отложить синхронизирование
Синхронизация
34 ©2021 Percona
• Изменение може привести к
потере данных!
• innodb_flush_log_at_trx_commit
• sync_binlog
0: Синхронизация осуществляется
операционной системой
1: При каждом commit, по
умолчанию
 Транзакции не теряются
N: После N binary log group commit-ов
 В случае OS крэша или отключения питания
несинхронизированные транзакции теряются
Синхронизация
34 ©2021 Percona
• table_open_cache
• Количество открытых таблиц для
всех соединений
• Увеличьте, если
 Соединения в PROCESSLIST ждут открытия таблиц
 Значение глобальной статусной переменной
Opened_tables больше Open_tables
Table Handlers
35 ©2021 Percona
• table_open_cache
• table_definition_cache
• Размер кэша определений таблиц
• Увеличьте, если
 Значение Opened_table_definitions больше
Open_table_definitions
Table Handlers
35 ©2021 Percona
• table_open_cache
• table_definition_cache
• Увеличьте open files для
операционной системы при
необходимости
Table Handlers
35 ©2021 Percona
Отладка Запросов
• Вы коммуницируете с базой при
помощи запросов
• Даже через интерфейс NoSQL
• Это не запросы SQL, но запросы
Сердце
Приложения
37 ©2021 Percona
• Вы коммуницируете с базой при
помощи запросов
• Даже через интерфейс NoSQL
• Это не запросы SQL, но запросы
• Данные имеют значение
• 1,000,000,000 строк
или 1 строка
Сердце
Приложения
37 ©2021 Percona
Çàïðîñ
Ïóë Ñîåäèíåíèÿ:
Àóòåíòèôèêàöèÿ, Êýøè;
SQL èíòåðôåéñ; Ïàðñåð
Îïòèìèçàòîð
Òàáëè÷íûå äâèæêè
Îáîðóäîâàíèå
Как
Выполняется
Запрос
38 ©2021 Percona
Отладка Запросов
Индексы
d001
d003
d008
d009
d003******
d009******
d008******
d009******
d001******
d003******
d009******
d008******
d009******
d001******
d008******
d008******
Индексы в
MySQL
- B-Tree
Большинство
- LSM Tree
- Fractal Tree
- R-Tree Spatial
- Hash Memory SE
- Движка
40 ©2021 Percona
• WHERE the_column = a_value
• WHERE the_column
IN(value1, value2, value3)
• WHERE the_column LIKE 'value%'
• WHERE the_column LIKE ’%value’
Как MySQL
Использует
Индексы:
Условия
41 ©2021 Percona
• WHERE left_part = value1 AND
right_part = value2
• WHERE left_part = value1
OR right_part = value2
• WHERE right_part = value1
AND left_part = value2
• WHERE right_part = value1
OR left_part = value2
Как MySQL
Использует
Индексы:
Условия
41 ©2021 Percona
• table1 JOIN table2 ON
table1.column1 =
table2.column2
Как MySQL
Использует
Индексы:
Соединения
42 ©2021 Percona
• table1 JOIN table2 ON
table1.column1 =
table2.column2
• Same as
FROM table1, table2
WHERE table1.column1 =
table2.column2
Как MySQL
Использует
Индексы:
Соединения
42 ©2021 Percona
• GROUP BY the_column
• GROUP BY left_part, right_part
• GROUP BY right_part, left_part
• GROUP BY the_index,
another_index
Как MySQL
Использует
Индексы:
GROUP BY
43 ©2021 Percona
• ORDER BY the_column
• ORDER BY left_part, right_part
• ORDER BY right_part, left_part
• ORDER BY the_index,
another_index
Как MySQL
Использует
Индексы:
ORDER BY
44 ©2021 Percona
5.7 ORDER BY left_part DESC,
right_part ASC
8.0 ORDER BY left_part DESC,
right_part ASC
• left_part должна быть descending
• right_part должна быть ascending
• the_index(left_part DESC,
right_part ASC)
Как MySQL
Использует
Индексы:
ORDER BY
44 ©2021 Percona
• Deterministic, встроенные
• Возвращают одинаковый результат
• WHERE the_column = FLOOR(123.45)
Как MySQL
Использует
Индексы:
Выражения
45 ©2021 Percona
• Deterministic, встроенные
• Возвращают одинаковый результат
• WHERE the_column = FLOOR(123.45)
• Non-deterministic
• Возвращают разный результат
• WHERE the_column = RAND() ∗ 100
Как MySQL
Использует
Индексы:
Выражения
45 ©2021 Percona
• Deterministic, встроенные
• Возвращают одинаковый результат
• WHERE the_column = FLOOR(123.45)
• Non-deterministic
• Возвращают разный результат
• WHERE the_column = RAND() ∗ 100
• Stored functions и UDFs
• Индексы не используются
MySQL: Use indexes on generated columns
MariaDB: Use indexes on generated columns
Как MySQL
Использует
Индексы:
Выражения
45 ©2021 Percona
Отладка Запросов
Конфигурация Оптимизатора
• Временные таблицы
• tmp_table_size
• max_heap_table_size
• default_tmp_storage_engine
Увеличьте
Размер для
Временных
Буферов
47 ©2021 Percona
• Временные таблицы
• tmp_table_size
• max_heap_table_size
• default_tmp_storage_engine
• Буферы для выполнения запросов
• join_buffer_size
 JOIN, которые не используют индексы
Увеличьте
Размер для
Временных
Буферов
47 ©2021 Percona
• Временные таблицы
• tmp_table_size
• max_heap_table_size
• default_tmp_storage_engine
• Буферы для выполнения запросов
• join_buffer_size
• read_buffer_size
 Кэширование индексов в ORDER BY
 Bulk insert into partitions
 Кэш результатов вложенных запросов
Увеличьте
Размер для
Временных
Буферов
47 ©2021 Percona
• Временные таблицы
• tmp_table_size
• max_heap_table_size
• default_tmp_storage_engine
• Буферы для выполнения запросов
• join_buffer_size
• read_buffer_size
• read_rnd_buffer_size
 Оптимизация запросов multi-rane
Увеличьте
Размер для
Временных
Буферов
47 ©2021 Percona
• Временные таблицы
• tmp_table_size
• max_heap_table_size
• default_tmp_storage_engine
• Буферы для выполнения запросов
• join_buffer_size
• read_buffer_size
• read_rnd_buffer_size
• select_into_buffer_size
 SELECT INTO OUTFILE
 SELECT INTO DUMPFILE
Увеличьте
Размер для
Временных
Буферов
47 ©2021 Percona
• Временные таблицы
• tmp_table_size
• max_heap_table_size
• default_tmp_storage_engine
• Буферы для выполнения запросов
• join_buffer_size
• read_buffer_size
• read_rnd_buffer_size
• select_into_buffer_size
• sort_buffer_size
 ORDER BY
 GROUP BY
Увеличьте
Размер для
Временных
Буферов
47 ©2021 Percona
• Временные таблицы
• tmp_table_size
• max_heap_table_size
• default_tmp_storage_engine
• Буферы для выполнения запросов
• join_buffer_size
• read_buffer_size
• read_rnd_buffer_size
• select_into_buffer_size
• sort_buffer_size
• Изменяйте только локально!
Увеличьте
Размер для
Временных
Буферов
47 ©2021 Percona
• Оборудование
RAM: больше - лучше
Disk: SSD или NVMe
CPU: больше ядер, больше активных
клиентов
Net: самая быстрая
Выводы
48 ©2021 Percona
• Оборудование
• Конфигурация
• InnoDB
 innodb_buffer_pool_size
 innodb_log_file_size
 innodb_thread_concurrency
 innodb_io_capacity
 innodb_flush_method
 innodb_flush_log_at_trx_commit
• Сервер
 sync_binlog
 table_open_cache
 table_definition_cache
Выводы
48 ©2021 Percona
• Оборудование
• Конфигурация
• Производительность Запросов
• Используйте индексы
• Настройте буферы оптимизатора
 tmp_table_size
 join_buffer_size
 read_buffer_size
 read_rnd_buffer_size
 select_into_buffer_size
 sort_buffer_size
Выводы
48 ©2021 Percona
Troubleshooting hardware resources
Troubleshooting configuration issues
MySQL Query Tuning for Dev[Op]s
Percona Monitoring and Management
Percona Kubernetes Operators
Дополнительная
Информация
49 ©2021 Percona
www.slideshare.net/SvetaSmirnova
twitter.com/svetsmirnova
github.com/svetasmirnova
Спасибо!
50 ©2021 Percona

More Related Content

What's hot

Эффективная отладка репликации MySQL / Света Смирнова (Percona)
Эффективная отладка репликации MySQL / Света Смирнова (Percona)Эффективная отладка репликации MySQL / Света Смирнова (Percona)
Эффективная отладка репликации MySQL / Света Смирнова (Percona)Ontico
 
Эволюция репликации в MySQL и MariaDB
Эволюция репликации в MySQL и MariaDBЭволюция репликации в MySQL и MariaDB
Эволюция репликации в MySQL и MariaDBSergey Petrunya
 
Отладка производительности СУБД MySQL
Отладка производительности СУБД MySQLОтладка производительности СУБД MySQL
Отладка производительности СУБД MySQLSveta Smirnova
 
MySQL: чек-лист для новичка в highload (Cвета Cмирнова, Aнастасия Распопина ...
MySQL:  чек-лист для новичка в highload (Cвета Cмирнова, Aнастасия Распопина ...MySQL:  чек-лист для новичка в highload (Cвета Cмирнова, Aнастасия Распопина ...
MySQL: чек-лист для новичка в highload (Cвета Cмирнова, Aнастасия Распопина ...Anastasia Rostova
 
Максим Богук. Postgres-XC
Максим Богук. Postgres-XCМаксим Богук. Postgres-XC
Максим Богук. Postgres-XCPostgreSQL-Consulting
 
Dennis Anikin - Tarantool Case Studies in Mail.Ru Group
Dennis Anikin - Tarantool Case Studies in Mail.Ru GroupDennis Anikin - Tarantool Case Studies in Mail.Ru Group
Dennis Anikin - Tarantool Case Studies in Mail.Ru GroupMail.ru Group
 
Как делать backup MySQL
Как делать backup MySQLКак делать backup MySQL
Как делать backup MySQLSveta Smirnova
 
Оптимизация работы с данными в мобильных приложениях / Святослав Иванов, Артё...
Оптимизация работы с данными в мобильных приложениях / Святослав Иванов, Артё...Оптимизация работы с данными в мобильных приложениях / Святослав Иванов, Артё...
Оптимизация работы с данными в мобильных приложениях / Святослав Иванов, Артё...Ontico
 
Что такое Postgresql (Максим Богук)
Что такое Postgresql (Максим Богук)Что такое Postgresql (Максим Богук)
Что такое Postgresql (Максим Богук)Ontico
 
За гранью NoSQL: NewSQL на Cassandra
За гранью NoSQL: NewSQL на CassandraЗа гранью NoSQL: NewSQL на Cassandra
За гранью NoSQL: NewSQL на Cassandraodnoklassniki.ru
 
PostgreSQL performance recipes
PostgreSQL performance recipesPostgreSQL performance recipes
PostgreSQL performance recipesAlexey Ermakov
 
Использование Sedna в WEB
Использование Sedna в WEBИспользование Sedna в WEB
Использование Sedna в WEBAlexandre Kalendarev
 
Длинная транзакция или когда размер имеет значение / Михаил Балаян (Odin — In...
Длинная транзакция или когда размер имеет значение / Михаил Балаян (Odin — In...Длинная транзакция или когда размер имеет значение / Михаил Балаян (Odin — In...
Длинная транзакция или когда размер имеет значение / Михаил Балаян (Odin — In...Ontico
 
Zabbix: рецепты высокопроизводительного мониторинга / Алексей Владышев (Zabbix)
Zabbix: рецепты высокопроизводительного мониторинга / Алексей Владышев (Zabbix)Zabbix: рецепты высокопроизводительного мониторинга / Алексей Владышев (Zabbix)
Zabbix: рецепты высокопроизводительного мониторинга / Алексей Владышев (Zabbix)Ontico
 
"Деплой кода процедур" Мурат Кабилов (Avito)
"Деплой кода процедур" Мурат Кабилов (Avito)"Деплой кода процедур" Мурат Кабилов (Avito)
"Деплой кода процедур" Мурат Кабилов (Avito)AvitoTech
 
nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)
nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)
nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)Ontico
 
Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...
Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...
Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...Ontico
 
Оптимизация UI потока / Дмитрий Куркин (Mail.Ru)
Оптимизация UI потока / Дмитрий Куркин (Mail.Ru)Оптимизация UI потока / Дмитрий Куркин (Mail.Ru)
Оптимизация UI потока / Дмитрий Куркин (Mail.Ru)Ontico
 
"OpenStack & Oracle — взболтать, но не смешивать". Сергей Филимонцев, Яндекс
"OpenStack & Oracle — взболтать, но не смешивать". Сергей Филимонцев, Яндекс"OpenStack & Oracle — взболтать, но не смешивать". Сергей Филимонцев, Яндекс
"OpenStack & Oracle — взболтать, но не смешивать". Сергей Филимонцев, ЯндексYandex
 

What's hot (20)

Эффективная отладка репликации MySQL / Света Смирнова (Percona)
Эффективная отладка репликации MySQL / Света Смирнова (Percona)Эффективная отладка репликации MySQL / Света Смирнова (Percona)
Эффективная отладка репликации MySQL / Света Смирнова (Percona)
 
Эволюция репликации в MySQL и MariaDB
Эволюция репликации в MySQL и MariaDBЭволюция репликации в MySQL и MariaDB
Эволюция репликации в MySQL и MariaDB
 
Отладка производительности СУБД MySQL
Отладка производительности СУБД MySQLОтладка производительности СУБД MySQL
Отладка производительности СУБД MySQL
 
MySQL: чек-лист для новичка в highload (Cвета Cмирнова, Aнастасия Распопина ...
MySQL:  чек-лист для новичка в highload (Cвета Cмирнова, Aнастасия Распопина ...MySQL:  чек-лист для новичка в highload (Cвета Cмирнова, Aнастасия Распопина ...
MySQL: чек-лист для новичка в highload (Cвета Cмирнова, Aнастасия Распопина ...
 
Максим Богук. Postgres-XC
Максим Богук. Postgres-XCМаксим Богук. Postgres-XC
Максим Богук. Postgres-XC
 
Dennis Anikin - Tarantool Case Studies in Mail.Ru Group
Dennis Anikin - Tarantool Case Studies in Mail.Ru GroupDennis Anikin - Tarantool Case Studies in Mail.Ru Group
Dennis Anikin - Tarantool Case Studies in Mail.Ru Group
 
Как делать backup MySQL
Как делать backup MySQLКак делать backup MySQL
Как делать backup MySQL
 
Оптимизация работы с данными в мобильных приложениях / Святослав Иванов, Артё...
Оптимизация работы с данными в мобильных приложениях / Святослав Иванов, Артё...Оптимизация работы с данными в мобильных приложениях / Святослав Иванов, Артё...
Оптимизация работы с данными в мобильных приложениях / Святослав Иванов, Артё...
 
Что такое Postgresql (Максим Богук)
Что такое Postgresql (Максим Богук)Что такое Postgresql (Максим Богук)
Что такое Postgresql (Максим Богук)
 
За гранью NoSQL: NewSQL на Cassandra
За гранью NoSQL: NewSQL на CassandraЗа гранью NoSQL: NewSQL на Cassandra
За гранью NoSQL: NewSQL на Cassandra
 
PostgreSQL performance recipes
PostgreSQL performance recipesPostgreSQL performance recipes
PostgreSQL performance recipes
 
Использование Sedna в WEB
Использование Sedna в WEBИспользование Sedna в WEB
Использование Sedna в WEB
 
Длинная транзакция или когда размер имеет значение / Михаил Балаян (Odin — In...
Длинная транзакция или когда размер имеет значение / Михаил Балаян (Odin — In...Длинная транзакция или когда размер имеет значение / Михаил Балаян (Odin — In...
Длинная транзакция или когда размер имеет значение / Михаил Балаян (Odin — In...
 
Zabbix: рецепты высокопроизводительного мониторинга / Алексей Владышев (Zabbix)
Zabbix: рецепты высокопроизводительного мониторинга / Алексей Владышев (Zabbix)Zabbix: рецепты высокопроизводительного мониторинга / Алексей Владышев (Zabbix)
Zabbix: рецепты высокопроизводительного мониторинга / Алексей Владышев (Zabbix)
 
Mysql vs postgresql
Mysql vs postgresqlMysql vs postgresql
Mysql vs postgresql
 
"Деплой кода процедур" Мурат Кабилов (Avito)
"Деплой кода процедур" Мурат Кабилов (Avito)"Деплой кода процедур" Мурат Кабилов (Avito)
"Деплой кода процедур" Мурат Кабилов (Avito)
 
nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)
nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)
nginx.CHANGES.2015 / Игорь Сысоев, Валентин Бартенев (Nginx)
 
Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...
Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...
Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...
 
Оптимизация UI потока / Дмитрий Куркин (Mail.Ru)
Оптимизация UI потока / Дмитрий Куркин (Mail.Ru)Оптимизация UI потока / Дмитрий Куркин (Mail.Ru)
Оптимизация UI потока / Дмитрий Куркин (Mail.Ru)
 
"OpenStack & Oracle — взболтать, но не смешивать". Сергей Филимонцев, Яндекс
"OpenStack & Oracle — взболтать, но не смешивать". Сергей Филимонцев, Яндекс"OpenStack & Oracle — взболтать, но не смешивать". Сергей Филимонцев, Яндекс
"OpenStack & Oracle — взболтать, но не смешивать". Сергей Филимонцев, Яндекс
 

Similar to Производительность MySQL для DevOps

Performance Schema для отладки MySQL приложений
Performance Schema для отладки MySQL приложенийPerformance Schema для отладки MySQL приложений
Performance Schema для отладки MySQL приложенийSveta Smirnova
 
ECP и API управления процессами. InterSystems Meetup Sankt-Peterburg 2014
ECP и API управления процессами. InterSystems Meetup Sankt-Peterburg 2014ECP и API управления процессами. InterSystems Meetup Sankt-Peterburg 2014
ECP и API управления процессами. InterSystems Meetup Sankt-Peterburg 2014InterSystems
 
Опыт использования NoSQL-хранилищ (Андрей Новиков)
Опыт использования NoSQL-хранилищ (Андрей Новиков)Опыт использования NoSQL-хранилищ (Андрей Новиков)
Опыт использования NoSQL-хранилищ (Андрей Новиков)Olga Lavrentieva
 
Net core and linux in production
Net core and linux in productionNet core and linux in production
Net core and linux in productionAnatoly Popov
 
Building deployment pipeline - DevOps way
Building deployment pipeline - DevOps wayBuilding deployment pipeline - DevOps way
Building deployment pipeline - DevOps wayAndrey Rebrov
 
Опыт внедрения OpenStack
Опыт внедрения OpenStackОпыт внедрения OpenStack
Опыт внедрения OpenStackYandex
 
Решения DEPO Computers для консолидации данных и серверной виртуализации на б...
Решения DEPO Computers для консолидации данных и серверной виртуализации на б...Решения DEPO Computers для консолидации данных и серверной виртуализации на б...
Решения DEPO Computers для консолидации данных и серверной виртуализации на б...DEPO Computers
 
Новости и анонсы Oracle Open World 2014
Новости и анонсы Oracle Open World 2014Новости и анонсы Oracle Open World 2014
Новости и анонсы Oracle Open World 2014Andrey Akulov
 
MySQL - checklist для новичка в Highload
MySQL - checklist для новичка в HighloadMySQL - checklist для новичка в Highload
MySQL - checklist для новичка в HighloadSveta Smirnova
 
MySQL: чек-лист для новичка в highload / Анастасия Распопина, Света Смирнова ...
MySQL: чек-лист для новичка в highload / Анастасия Распопина, Света Смирнова ...MySQL: чек-лист для новичка в highload / Анастасия Распопина, Света Смирнова ...
MySQL: чек-лист для новичка в highload / Анастасия Распопина, Света Смирнова ...Ontico
 
Zero Downtime PHP Deployment with Envoyer And Forge
Zero Downtime PHP Deployment with Envoyer And ForgeZero Downtime PHP Deployment with Envoyer And Forge
Zero Downtime PHP Deployment with Envoyer And ForgeYehor Herasymchuk
 
SQL-ник DevDay. Рубцов. Новое в Percona Server и MariaDB в сравнении с MySQL 5.5
SQL-ник DevDay. Рубцов. Новое в Percona Server и MariaDB в сравнении с MySQL 5.5SQL-ник DevDay. Рубцов. Новое в Percona Server и MariaDB в сравнении с MySQL 5.5
SQL-ник DevDay. Рубцов. Новое в Percona Server и MariaDB в сравнении с MySQL 5.5DevDay
 
Checklistfinal perconaconf
Checklistfinal perconaconfChecklistfinal perconaconf
Checklistfinal perconaconfDeveloperua
 
Tarantool, .net, newsql
Tarantool, .net, newsqlTarantool, .net, newsql
Tarantool, .net, newsqlAnatoly Popov
 
СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуре
СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуреСХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуре
СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуреDEPO Computers
 
Оптимизация резервного копирования средствами дедупликации. Symantec netbacku...
Оптимизация резервного копирования средствами дедупликации. Symantec netbacku...Оптимизация резервного копирования средствами дедупликации. Symantec netbacku...
Оптимизация резервного копирования средствами дедупликации. Symantec netbacku...КРОК
 
Cisco Enterprise NFV
Cisco Enterprise NFVCisco Enterprise NFV
Cisco Enterprise NFVCisco Russia
 
Сергей Белов "bem server: система сборки фронтенда"
Сергей Белов "bem server: система сборки фронтенда"Сергей Белов "bem server: система сборки фронтенда"
Сергей Белов "bem server: система сборки фронтенда"Yandex
 
Мониторинг проектов: сравнительный анализ существующих решений
Мониторинг проектов:  сравнительный анализ существующих решенийМониторинг проектов:  сравнительный анализ существующих решений
Мониторинг проектов: сравнительный анализ существующих решенийAnton Baranov
 

Similar to Производительность MySQL для DevOps (20)

Performance Schema для отладки MySQL приложений
Performance Schema для отладки MySQL приложенийPerformance Schema для отладки MySQL приложений
Performance Schema для отладки MySQL приложений
 
ECP и API управления процессами. InterSystems Meetup Sankt-Peterburg 2014
ECP и API управления процессами. InterSystems Meetup Sankt-Peterburg 2014ECP и API управления процессами. InterSystems Meetup Sankt-Peterburg 2014
ECP и API управления процессами. InterSystems Meetup Sankt-Peterburg 2014
 
Опыт использования NoSQL-хранилищ (Андрей Новиков)
Опыт использования NoSQL-хранилищ (Андрей Новиков)Опыт использования NoSQL-хранилищ (Андрей Новиков)
Опыт использования NoSQL-хранилищ (Андрей Новиков)
 
Net core and linux in production
Net core and linux in productionNet core and linux in production
Net core and linux in production
 
Building deployment pipeline - DevOps way
Building deployment pipeline - DevOps wayBuilding deployment pipeline - DevOps way
Building deployment pipeline - DevOps way
 
Опыт внедрения OpenStack
Опыт внедрения OpenStackОпыт внедрения OpenStack
Опыт внедрения OpenStack
 
MySQL 8.0
MySQL 8.0MySQL 8.0
MySQL 8.0
 
Решения DEPO Computers для консолидации данных и серверной виртуализации на б...
Решения DEPO Computers для консолидации данных и серверной виртуализации на б...Решения DEPO Computers для консолидации данных и серверной виртуализации на б...
Решения DEPO Computers для консолидации данных и серверной виртуализации на б...
 
Новости и анонсы Oracle Open World 2014
Новости и анонсы Oracle Open World 2014Новости и анонсы Oracle Open World 2014
Новости и анонсы Oracle Open World 2014
 
MySQL - checklist для новичка в Highload
MySQL - checklist для новичка в HighloadMySQL - checklist для новичка в Highload
MySQL - checklist для новичка в Highload
 
MySQL: чек-лист для новичка в highload / Анастасия Распопина, Света Смирнова ...
MySQL: чек-лист для новичка в highload / Анастасия Распопина, Света Смирнова ...MySQL: чек-лист для новичка в highload / Анастасия Распопина, Света Смирнова ...
MySQL: чек-лист для новичка в highload / Анастасия Распопина, Света Смирнова ...
 
Zero Downtime PHP Deployment with Envoyer And Forge
Zero Downtime PHP Deployment with Envoyer And ForgeZero Downtime PHP Deployment with Envoyer And Forge
Zero Downtime PHP Deployment with Envoyer And Forge
 
SQL-ник DevDay. Рубцов. Новое в Percona Server и MariaDB в сравнении с MySQL 5.5
SQL-ник DevDay. Рубцов. Новое в Percona Server и MariaDB в сравнении с MySQL 5.5SQL-ник DevDay. Рубцов. Новое в Percona Server и MariaDB в сравнении с MySQL 5.5
SQL-ник DevDay. Рубцов. Новое в Percona Server и MariaDB в сравнении с MySQL 5.5
 
Checklistfinal perconaconf
Checklistfinal perconaconfChecklistfinal perconaconf
Checklistfinal perconaconf
 
Tarantool, .net, newsql
Tarantool, .net, newsqlTarantool, .net, newsql
Tarantool, .net, newsql
 
СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуре
СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуреСХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуре
СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуре
 
Оптимизация резервного копирования средствами дедупликации. Symantec netbacku...
Оптимизация резервного копирования средствами дедупликации. Symantec netbacku...Оптимизация резервного копирования средствами дедупликации. Symantec netbacku...
Оптимизация резервного копирования средствами дедупликации. Symantec netbacku...
 
Cisco Enterprise NFV
Cisco Enterprise NFVCisco Enterprise NFV
Cisco Enterprise NFV
 
Сергей Белов "bem server: система сборки фронтенда"
Сергей Белов "bem server: система сборки фронтенда"Сергей Белов "bem server: система сборки фронтенда"
Сергей Белов "bem server: система сборки фронтенда"
 
Мониторинг проектов: сравнительный анализ существующих решений
Мониторинг проектов:  сравнительный анализ существующих решенийМониторинг проектов:  сравнительный анализ существующих решений
Мониторинг проектов: сравнительный анализ существующих решений
 

More from Sveta Smirnova

MySQL 2024: Зачем переходить на MySQL 8, если в 5.х всё устраивает?
MySQL 2024: Зачем переходить на MySQL 8, если в 5.х всё устраивает?MySQL 2024: Зачем переходить на MySQL 8, если в 5.х всё устраивает?
MySQL 2024: Зачем переходить на MySQL 8, если в 5.х всё устраивает?Sveta Smirnova
 
Database in Kubernetes: Diagnostics and Monitoring
Database in Kubernetes: Diagnostics and MonitoringDatabase in Kubernetes: Diagnostics and Monitoring
Database in Kubernetes: Diagnostics and MonitoringSveta Smirnova
 
MySQL Database Monitoring: Must, Good and Nice to Have
MySQL Database Monitoring: Must, Good and Nice to HaveMySQL Database Monitoring: Must, Good and Nice to Have
MySQL Database Monitoring: Must, Good and Nice to HaveSveta Smirnova
 
MySQL Cookbook: Recipes for Developers
MySQL Cookbook: Recipes for DevelopersMySQL Cookbook: Recipes for Developers
MySQL Cookbook: Recipes for DevelopersSveta Smirnova
 
MySQL Performance for DevOps
MySQL Performance for DevOpsMySQL Performance for DevOps
MySQL Performance for DevOpsSveta Smirnova
 
MySQL Test Framework для поддержки клиентов и верификации багов
MySQL Test Framework для поддержки клиентов и верификации баговMySQL Test Framework для поддержки клиентов и верификации багов
MySQL Test Framework для поддержки клиентов и верификации баговSveta Smirnova
 
MySQL Cookbook: Recipes for Your Business
MySQL Cookbook: Recipes for Your BusinessMySQL Cookbook: Recipes for Your Business
MySQL Cookbook: Recipes for Your BusinessSveta Smirnova
 
Introduction into MySQL Query Tuning for Dev[Op]s
Introduction into MySQL Query Tuning for Dev[Op]sIntroduction into MySQL Query Tuning for Dev[Op]s
Introduction into MySQL Query Tuning for Dev[Op]sSveta Smirnova
 
MySQL Performance for DevOps
MySQL Performance for DevOpsMySQL Performance for DevOps
MySQL Performance for DevOpsSveta Smirnova
 
How to Avoid Pitfalls in Schema Upgrade with Percona XtraDB Cluster
How to Avoid Pitfalls in Schema Upgrade with Percona XtraDB ClusterHow to Avoid Pitfalls in Schema Upgrade with Percona XtraDB Cluster
How to Avoid Pitfalls in Schema Upgrade with Percona XtraDB ClusterSveta Smirnova
 
How to migrate from MySQL to MariaDB without tears
How to migrate from MySQL to MariaDB without tearsHow to migrate from MySQL to MariaDB without tears
How to migrate from MySQL to MariaDB without tearsSveta Smirnova
 
Modern solutions for modern database load: improvements in the latest MariaDB...
Modern solutions for modern database load: improvements in the latest MariaDB...Modern solutions for modern database load: improvements in the latest MariaDB...
Modern solutions for modern database load: improvements in the latest MariaDB...Sveta Smirnova
 
How Safe is Asynchronous Master-Master Setup?
How Safe is Asynchronous Master-Master Setup?How Safe is Asynchronous Master-Master Setup?
How Safe is Asynchronous Master-Master Setup?Sveta Smirnova
 
How to Avoid Pitfalls in Schema Upgrade with Galera
How to Avoid Pitfalls in Schema Upgrade with GaleraHow to Avoid Pitfalls in Schema Upgrade with Galera
How to Avoid Pitfalls in Schema Upgrade with GaleraSveta Smirnova
 
How Safe is Asynchronous Master-Master Setup?
 How Safe is Asynchronous Master-Master Setup? How Safe is Asynchronous Master-Master Setup?
How Safe is Asynchronous Master-Master Setup?Sveta Smirnova
 
Introduction to MySQL Query Tuning for Dev[Op]s
Introduction to MySQL Query Tuning for Dev[Op]sIntroduction to MySQL Query Tuning for Dev[Op]s
Introduction to MySQL Query Tuning for Dev[Op]sSveta Smirnova
 
Billion Goods in Few Categories: How Histograms Save a Life?
Billion Goods in Few Categories: How Histograms Save a Life?Billion Goods in Few Categories: How Histograms Save a Life?
Billion Goods in Few Categories: How Histograms Save a Life?Sveta Smirnova
 
A Billion Goods in a Few Categories: When Optimizer Histograms Help and When ...
A Billion Goods in a Few Categories: When Optimizer Histograms Help and When ...A Billion Goods in a Few Categories: When Optimizer Histograms Help and When ...
A Billion Goods in a Few Categories: When Optimizer Histograms Help and When ...Sveta Smirnova
 
Billion Goods in Few Categories: How Histograms Save a Life?
Billion Goods in Few Categories: How Histograms Save a Life?Billion Goods in Few Categories: How Histograms Save a Life?
Billion Goods in Few Categories: How Histograms Save a Life?Sveta Smirnova
 
MySQL Performance Schema in Action
MySQL Performance Schema in ActionMySQL Performance Schema in Action
MySQL Performance Schema in ActionSveta Smirnova
 

More from Sveta Smirnova (20)

MySQL 2024: Зачем переходить на MySQL 8, если в 5.х всё устраивает?
MySQL 2024: Зачем переходить на MySQL 8, если в 5.х всё устраивает?MySQL 2024: Зачем переходить на MySQL 8, если в 5.х всё устраивает?
MySQL 2024: Зачем переходить на MySQL 8, если в 5.х всё устраивает?
 
Database in Kubernetes: Diagnostics and Monitoring
Database in Kubernetes: Diagnostics and MonitoringDatabase in Kubernetes: Diagnostics and Monitoring
Database in Kubernetes: Diagnostics and Monitoring
 
MySQL Database Monitoring: Must, Good and Nice to Have
MySQL Database Monitoring: Must, Good and Nice to HaveMySQL Database Monitoring: Must, Good and Nice to Have
MySQL Database Monitoring: Must, Good and Nice to Have
 
MySQL Cookbook: Recipes for Developers
MySQL Cookbook: Recipes for DevelopersMySQL Cookbook: Recipes for Developers
MySQL Cookbook: Recipes for Developers
 
MySQL Performance for DevOps
MySQL Performance for DevOpsMySQL Performance for DevOps
MySQL Performance for DevOps
 
MySQL Test Framework для поддержки клиентов и верификации багов
MySQL Test Framework для поддержки клиентов и верификации баговMySQL Test Framework для поддержки клиентов и верификации багов
MySQL Test Framework для поддержки клиентов и верификации багов
 
MySQL Cookbook: Recipes for Your Business
MySQL Cookbook: Recipes for Your BusinessMySQL Cookbook: Recipes for Your Business
MySQL Cookbook: Recipes for Your Business
 
Introduction into MySQL Query Tuning for Dev[Op]s
Introduction into MySQL Query Tuning for Dev[Op]sIntroduction into MySQL Query Tuning for Dev[Op]s
Introduction into MySQL Query Tuning for Dev[Op]s
 
MySQL Performance for DevOps
MySQL Performance for DevOpsMySQL Performance for DevOps
MySQL Performance for DevOps
 
How to Avoid Pitfalls in Schema Upgrade with Percona XtraDB Cluster
How to Avoid Pitfalls in Schema Upgrade with Percona XtraDB ClusterHow to Avoid Pitfalls in Schema Upgrade with Percona XtraDB Cluster
How to Avoid Pitfalls in Schema Upgrade with Percona XtraDB Cluster
 
How to migrate from MySQL to MariaDB without tears
How to migrate from MySQL to MariaDB without tearsHow to migrate from MySQL to MariaDB without tears
How to migrate from MySQL to MariaDB without tears
 
Modern solutions for modern database load: improvements in the latest MariaDB...
Modern solutions for modern database load: improvements in the latest MariaDB...Modern solutions for modern database load: improvements in the latest MariaDB...
Modern solutions for modern database load: improvements in the latest MariaDB...
 
How Safe is Asynchronous Master-Master Setup?
How Safe is Asynchronous Master-Master Setup?How Safe is Asynchronous Master-Master Setup?
How Safe is Asynchronous Master-Master Setup?
 
How to Avoid Pitfalls in Schema Upgrade with Galera
How to Avoid Pitfalls in Schema Upgrade with GaleraHow to Avoid Pitfalls in Schema Upgrade with Galera
How to Avoid Pitfalls in Schema Upgrade with Galera
 
How Safe is Asynchronous Master-Master Setup?
 How Safe is Asynchronous Master-Master Setup? How Safe is Asynchronous Master-Master Setup?
How Safe is Asynchronous Master-Master Setup?
 
Introduction to MySQL Query Tuning for Dev[Op]s
Introduction to MySQL Query Tuning for Dev[Op]sIntroduction to MySQL Query Tuning for Dev[Op]s
Introduction to MySQL Query Tuning for Dev[Op]s
 
Billion Goods in Few Categories: How Histograms Save a Life?
Billion Goods in Few Categories: How Histograms Save a Life?Billion Goods in Few Categories: How Histograms Save a Life?
Billion Goods in Few Categories: How Histograms Save a Life?
 
A Billion Goods in a Few Categories: When Optimizer Histograms Help and When ...
A Billion Goods in a Few Categories: When Optimizer Histograms Help and When ...A Billion Goods in a Few Categories: When Optimizer Histograms Help and When ...
A Billion Goods in a Few Categories: When Optimizer Histograms Help and When ...
 
Billion Goods in Few Categories: How Histograms Save a Life?
Billion Goods in Few Categories: How Histograms Save a Life?Billion Goods in Few Categories: How Histograms Save a Life?
Billion Goods in Few Categories: How Histograms Save a Life?
 
MySQL Performance Schema in Action
MySQL Performance Schema in ActionMySQL Performance Schema in Action
MySQL Performance Schema in Action
 

Производительность MySQL для DevOps

  • 2. • Света Смирнова • Инженер тех. поддержки MySQL • Автор • MySQL Troubleshooting • JSON UDF функции • FILTER clause для MySQL • Докладчик • Percona Live, OOW, Fosdem, DevConf, HighLoad... 2 ©2021 Percona
  • 3. •Введение •Оборудование •Конфигурация MySQL Важные Переменные •Отладка Запросов Индексы Конфигурация Оптимизатора Содержание 3 ©2021 Percona
  • 5. • Сервер баз данных • С 25-ти летней историей • Популярные forks • Percona Server for MySQL • MariaDB Server • Поддержка репликации Что такое MySQL? 5 ©2021 Percona
  • 6. Коннекторы: C, JDBC, ODBC, Python, ... Пул Соединений: Авторизация, Кэши Интерфейс SQL Парсер Оптимизатор Кэши и Буфера: Глобальные Движка Движки: InnoDB, MyRocks, ... Файловая система: Данные, Индексы, Журналы Архитектура MySQL - mysqld - Коннекторы - Оптимизатор - Буфера - Движки - Управление 6 ©2021 Percona
  • 7. • Ваши собственные машины • Облака • Контейнеры (Kubernetes) Где Работает MySQL в 2021? 7 ©2021 Percona
  • 8. Percona K8 Operator for PXC MySQL Operator Операторы Kubernetes для MySQL 8 ©2021 Percona
  • 9. • 610+ настроек • Несколько движков • Репликация • Асинхронная • Синхронная • Современный SQL • Встроенная диагностика • SQL standard • Специфичная для MySQL Прост ли MySQL? 9 ©2021 Percona
  • 12. • Ваши машины • Опции операционной системы Как Настраивать? 12 ©2021 Percona
  • 13. • Ваши машины • Опции операционной системы • Облака • Консоль администратора Как Настраивать? 12 ©2021 Percona
  • 14. • Ваши машины • Опции операционной системы • Облака • Консоль администратора • Percona Kubernetes Operator cr.yaml pxc.resources.requests.memory pxc.resources.requests.cpu pxc.resources.limits.memory pxc.volumeSpec.resources.requests.storage Как Настраивать? 12 ©2021 Percona
  • 15. • Память • Диск • CPU • Сеть Что Настраивать? 13 ©2021 Percona
  • 16. • Никакого swapping • sysctl vm.swappiness=1 Конфигурация Памяти 14 ©2021 Percona
  • 17. • Никакого swapping • sysctl vm.swappiness=1 • NUMA interleave • Включить в BIOS Конфигурация Памяти 14 ©2021 Percona
  • 18. • Никакого swapping • sysctl vm.swappiness=1 • NUMA interleave • Включить в BIOS • Больше - лучше Конфигурация Памяти 14 ©2021 Percona
  • 19. • Никакого swapping • sysctl vm.swappiness=1 • NUMA interleave • Включить в BIOS • Больше - лучше • Доступ к памяти быстрее диска Конфигурация Памяти 14 ©2021 Percona
  • 20. • Никакого swapping • sysctl vm.swappiness=1 • NUMA interleave • Включить в BIOS • Больше - лучше • Доступ к памяти быстрее диска • Часто используемые данные должны быть в памяти Конфигурация Памяти 14 ©2021 Percona
  • 21. Доступ к памяти или к диску? 15 ©2021 Percona
  • 22. • У MySQL есть собственные буферы для часто используемых данных Почему нельзя использовать Swap? 16 ©2021 Percona
  • 23. • У MySQL есть собственные буферы для часто используемых данных • OS может и не знать какие данные потребуются MySQL • OS может использовать алгоритмы, неидеальные для производительности MySQL Почему нельзя использовать Swap? 16 ©2021 Percona
  • 24. • У MySQL есть собственные буферы для часто используемых данных • OS может и не знать какие данные потребуются MySQL • OS может использовать алгоритмы, неидеальные для производительности MySQL • Никогда не используйте swap для MySQL! Почему нельзя использовать Swap? 16 ©2021 Percona
  • 25. • Глобальные буферы • Используют память на протяжении всей жизни процесса InnoDB Buffer Pool Таблицы в Performance Schema Как MySQL Использует Память 17 ©2021 Percona
  • 26. • Глобальные буферы • Сессионные • Выделяются при открытии соединения • Освобождаются при закрытии Connection и result buffers: с net_buffer_length до max_allowed_packet Как MySQL Использует Память 17 ©2021 Percona
  • 27. • Глобальные буферы • Сессионные • Специфические для операций • На время операции • Может быть выделено несколько join_buffer_size: для каждой пары таблиц в JOIN tmp_table_size: для каждой временной таблицы Как MySQL Использует Память 17 ©2021 Percona
  • 28. • Быстрее - лучше • SSD • NVMe • Spinning disk Диск 18 ©2021 Percona
  • 29. • Быстрее - лучше • SSD • NVMe • Spinning disk • Поддержка параллельной записи Диск 18 ©2021 Percona
  • 30. • Быстрее - лучше • SSD • NVMe • Spinning disk • Поддержка параллельной записи • Battery-backed cache Диск 18 ©2021 Percona
  • 32. • Таблицы • Журналы • Бинарный • Движка InnoDB redo log • Ошибок, general, audit, ... Как MySQL Использует Диск 19 ©2021 Percona
  • 33. • Таблицы • Журналы • Бинарный • Движка InnoDB redo log • Ошибок, general, audit, ... • Временные таблицы на диске Как MySQL Использует Диск 19 ©2021 Percona
  • 34. • Таблицы • Журналы • Бинарный • Движка InnoDB redo log • Ошибок, general, audit, ... • Временные таблицы на диске • Вы можете использовать разные диски Как MySQL Использует Диск 19 ©2021 Percona
  • 35. • IO scheduler • [noop] or [deadline] • sudo echo noop /sys/block/DISK/queue/scheduler or sudo echo deadline /sys/block/DISK/queue/scheduler Процессор 20 ©2021 Percona
  • 36. • IO scheduler • [noop] or [deadline] • sudo echo noop /sys/block/DISK/queue/scheduler or sudo echo deadline /sys/block/DISK/queue/scheduler • CPU governor • Set to performance Процессор 20 ©2021 Percona
  • 37. • IO scheduler • [noop] or [deadline] • sudo echo noop /sys/block/DISK/queue/scheduler or sudo echo deadline /sys/block/DISK/queue/scheduler • CPU governor • Set to performance • Больше ядер - лучше Процессор 20 ©2021 Percona
  • 38. • Один поток на соединение • CPU используется только для активных Как MySQL Использует Процессор 21 ©2021 Percona
  • 39. • Один поток на соединение • CPU используется только для активных • Фоновая работа движка Как MySQL Использует Процессор 21 ©2021 Percona
  • 41. ? = ядер? Что Происходит с Потоками? 23 ©2021 Percona
  • 42. ? = ядер? Да Выполняются Что Происходит с Потоками? 23 ©2021 Percona
  • 43. ? = ядер? Да Выполняются Нет Ждут в очереди Что Происходит с Потоками? 23 ©2021 Percona
  • 44. ? = ядер? Да Выполняются Нет Ждут в очереди ? Поддерживает ли диск параллельную запись? Что Происходит с Потоками? 23 ©2021 Percona
  • 45. ? = ядер? Да Выполняются Нет Ждут в очереди ? Поддерживает ли диск параллельную запись? Да Запись Что Происходит с Потоками? 23 ©2021 Percona
  • 46. ? = ядер? Да Выполняются Нет Ждут в очереди ? Поддерживает ли диск параллельную запись? Да Запись Нет Ждут в очереди Что Происходит с Потоками? 23 ©2021 Percona
  • 47. • Быстрая • Скорость линии RTT • Пропускная способность • Стабильность Для предотвращения пересылки пакетов TCP Сеть 24 ©2021 Percona
  • 48. • Быстрая • По сети Internet • Клиенты могу работать • Асинхронная реплика будет тормозить • Синхронные кластеры работать не будут При использовании опций по умолчанию ноды будут постоянно терять соединение При увеличенных опциях ответы будут приходить очень медленно Сеть 24 ©2021 Percona
  • 49. • Передача данных между клиентом и сервером • Обычный клиент • Приложение • Replication connection (IO) thread • Передача данных между синхронными нодами Как MySQL Использует Сеть 25 ©2021 Percona
  • 51. • Опции сервера • Компоненты • Движки InnoDB • Расширения • Сервер Опции бинарного журнала Оптимизатор Что Может Быть Настроено? 27 ©2021 Percona
  • 52. • Глобальные • Параметры, необходимые для всех процессов Расположение файлов: datadir и т.д. Совместно используемые буферы Другое • Сессии • Параметры, специфические для соединения MySQL Option Tables Системные Переменные: Что Меняют 28 ©2021 Percona
  • 53. • SET [GLOBAL|PERSIST] var = NEW_VALUE Системные Переменные: Как Поменять 29 ©2021 Percona
  • 54. • SET [GLOBAL|PERSIST] var = NEW_VALUE • Командная строка: var=new_value Системные Переменные: Как Поменять 29 ©2021 Percona
  • 55. • SET [GLOBAL|PERSIST] var = NEW_VALUE • Командная строка: var=new_value • Конфигурационный файл Default путь • При помощи опции defaults-file [mysqld] var=new_value Системные Переменные: Как Поменять 29 ©2021 Percona
  • 56. • Конфигурация PXC Operator • In cr.yaml spec: secretsName: my-cluster-secrets pxc: ... configuration: | [mysqld] innodb_log_file_size=8G Системные Переменные: Как Поменять 29 ©2021 Percona
  • 57. • Конфигурация PXC Operator • В ConfigMap Создайте свой конфигурационный my.cnf [mysqld] innodb_log_file_size=8G Системные Переменные: Как Поменять 29 ©2021 Percona
  • 58. • Конфигурация PXC Operator • В ConfigMap Создайте свой конфигурационный my.cnf [mysqld] innodb_log_file_size=8G Создайте ConfigMap: kubectl create configmap cluster1-pxc from-file=my.cnf Системные Переменные: Как Поменять 29 ©2021 Percona
  • 59. • Конфигурация PXC Operator • В ConfigMap Создайте свой конфигурационный my.cnf [mysqld] innodb_log_file_size=8G Создайте ConfigMap: kubectl create configmap cluster1-pxc from-file=my.cnf Перезагрузите PXC Системные Переменные: Как Поменять 29 ©2021 Percona
  • 60. • Глобальные и некоторые сессионные 8.0 Пользователь с привилегией SUPER 8.0 + Пользователь с привилегией SYSTEM_VARIABLES_ADMIN Динамические Переменные: Кто Может Менять 30 ©2021 Percona
  • 61. • Глобальные и некоторые сессионные 8.0 Пользователь с привилегией SUPER 8.0 + Пользователь с привилегией SYSTEM_VARIABLES_ADMIN • Сессионные 8.0 Кто угодно 8.0 + Ограниченные привилегии SYSTEM_VARIABLES_ADMIN SESSION_VARIABLES_ADMIN 8.0 + Все остальные: кто угодно Динамические Переменные: Кто Может Менять 30 ©2021 Percona
  • 62. • Глобальные и некоторые сессионные 8.0 Пользователь с привилегией SUPER 8.0 + Пользователь с привилегией SYSTEM_VARIABLES_ADMIN • Сессионные 8.0 Кто угодно 8.0 + Ограниченные привилегии SYSTEM_VARIABLES_ADMIN SESSION_VARIABLES_ADMIN 8.0 + Все остальные: кто угодно • Ограничений нет! Динамические Переменные: Кто Может Менять 30 ©2021 Percona
  • 63. • Контролирующие поведение сервера • При старте • С маленьких значений, растут до максимума Буферы: Когда Выделяются 31 ©2021 Percona
  • 64. • Контролирующие поведение сервера • При старте • С маленьких значений, растут до максимума • Сессионные • При открытии соединения Буферы: Когда Выделяются 31 ©2021 Percona
  • 65. • Контролирующие поведение сервера • При старте • С маленьких значений, растут до максимума • Сессионные • При открытии соединения • Операции • По мере надобности • Могут выделяться неоднократно Буферы: Когда Выделяются 31 ©2021 Percona
  • 67. • innodb_buffer_pool_size • Активный набор данных InnoDB 33 ©2021 Percona
  • 68. • innodb_buffer_pool_size • innodb_log_file_size • Изменения за час InnoDB 33 ©2021 Percona
  • 69. • innodb_buffer_pool_size • innodb_log_file_size • Изменения за час • Слишком маленький InnoDB 33 ©2021 Percona
  • 70. • innodb_buffer_pool_size • innodb_log_file_size • Изменения за час • Достаточный InnoDB 33 ©2021 Percona
  • 71. • innodb_buffer_pool_size • innodb_log_file_size • innodb_io_capacity • Значение по умолчанию не подходит для быстрых дисков • Количество IOPS, которое ваш диск может использовать • Не ставьте слишком высоким! InnoDB 33 ©2021 Percona
  • 72. • innodb_buffer_pool_size • innodb_log_file_size • innodb_io_capacity • innodb_flush_method • В большинстве случаеав: O_DIRECT • Тестируйте на своей системе! InnoDB 33 ©2021 Percona
  • 73. • innodb_buffer_pool_size • innodb_log_file_size • innodb_io_capacity • innodb_flush_method • innodb_thread_concurrency • 0 или количество ядер InnoDB 33 ©2021 Percona
  • 74. • Изменение може привести к потере данных! Синхронизация 34 ©2021 Percona
  • 75. • Изменение може привести к потере данных! • innodb_flush_log_at_trx_commit 1: ACID, по умолчанию Синхронизация 34 ©2021 Percona
  • 76. • Изменение може привести к потере данных! • innodb_flush_log_at_trx_commit 1: ACID, по умолчанию 2: Журналы пишутся при каждом commit, синхронизируются раз в секунду MySQL 8.0 может выполнить 1M INSERT-ов в секунду Используйте с PXC, Galera и InnoDB Кластерами Синхронизация 34 ©2021 Percona
  • 77. • Изменение може привести к потере данных! • innodb_flush_log_at_trx_commit 1: ACID, по умолчанию 2: Журналы пишутся при каждом commit, синхронизируются раз в секунду 0: Журналы пишутся и синхронизируются раз в секунду Синхронизация 34 ©2021 Percona
  • 78. • Изменение може привести к потере данных! • innodb_flush_log_at_trx_commit 1: ACID, по умолчанию 2: Журналы пишутся при каждом commit, синхронизируются раз в секунду 0: Журналы пишутся и синхронизируются раз в секунду • Раз в секунду не гарантировано при 0 и 2 DDL может спровоцировать более частое Scheduling может отложить синхронизирование Синхронизация 34 ©2021 Percona
  • 79. • Изменение може привести к потере данных! • innodb_flush_log_at_trx_commit • sync_binlog 0: Синхронизация осуществляется операционной системой 1: При каждом commit, по умолчанию Транзакции не теряются N: После N binary log group commit-ов В случае OS крэша или отключения питания несинхронизированные транзакции теряются Синхронизация 34 ©2021 Percona
  • 80. • table_open_cache • Количество открытых таблиц для всех соединений • Увеличьте, если Соединения в PROCESSLIST ждут открытия таблиц Значение глобальной статусной переменной Opened_tables больше Open_tables Table Handlers 35 ©2021 Percona
  • 81. • table_open_cache • table_definition_cache • Размер кэша определений таблиц • Увеличьте, если Значение Opened_table_definitions больше Open_table_definitions Table Handlers 35 ©2021 Percona
  • 82. • table_open_cache • table_definition_cache • Увеличьте open files для операционной системы при необходимости Table Handlers 35 ©2021 Percona
  • 84. • Вы коммуницируете с базой при помощи запросов • Даже через интерфейс NoSQL • Это не запросы SQL, но запросы Сердце Приложения 37 ©2021 Percona
  • 85. • Вы коммуницируете с базой при помощи запросов • Даже через интерфейс NoSQL • Это не запросы SQL, но запросы • Данные имеют значение • 1,000,000,000 строк или 1 строка Сердце Приложения 37 ©2021 Percona
  • 86. Çàïðîñ Ïóë Ñîåäèíåíèÿ: Àóòåíòèôèêàöèÿ, Êýøè; SQL èíòåðôåéñ; Ïàðñåð Îïòèìèçàòîð Òàáëè÷íûå äâèæêè Îáîðóäîâàíèå Как Выполняется Запрос 38 ©2021 Percona
  • 89. • WHERE the_column = a_value • WHERE the_column IN(value1, value2, value3) • WHERE the_column LIKE 'value%' • WHERE the_column LIKE ’%value’ Как MySQL Использует Индексы: Условия 41 ©2021 Percona
  • 90. • WHERE left_part = value1 AND right_part = value2 • WHERE left_part = value1 OR right_part = value2 • WHERE right_part = value1 AND left_part = value2 • WHERE right_part = value1 OR left_part = value2 Как MySQL Использует Индексы: Условия 41 ©2021 Percona
  • 91. • table1 JOIN table2 ON table1.column1 = table2.column2 Как MySQL Использует Индексы: Соединения 42 ©2021 Percona
  • 92. • table1 JOIN table2 ON table1.column1 = table2.column2 • Same as FROM table1, table2 WHERE table1.column1 = table2.column2 Как MySQL Использует Индексы: Соединения 42 ©2021 Percona
  • 93. • GROUP BY the_column • GROUP BY left_part, right_part • GROUP BY right_part, left_part • GROUP BY the_index, another_index Как MySQL Использует Индексы: GROUP BY 43 ©2021 Percona
  • 94. • ORDER BY the_column • ORDER BY left_part, right_part • ORDER BY right_part, left_part • ORDER BY the_index, another_index Как MySQL Использует Индексы: ORDER BY 44 ©2021 Percona
  • 95. 5.7 ORDER BY left_part DESC, right_part ASC 8.0 ORDER BY left_part DESC, right_part ASC • left_part должна быть descending • right_part должна быть ascending • the_index(left_part DESC, right_part ASC) Как MySQL Использует Индексы: ORDER BY 44 ©2021 Percona
  • 96. • Deterministic, встроенные • Возвращают одинаковый результат • WHERE the_column = FLOOR(123.45) Как MySQL Использует Индексы: Выражения 45 ©2021 Percona
  • 97. • Deterministic, встроенные • Возвращают одинаковый результат • WHERE the_column = FLOOR(123.45) • Non-deterministic • Возвращают разный результат • WHERE the_column = RAND() ∗ 100 Как MySQL Использует Индексы: Выражения 45 ©2021 Percona
  • 98. • Deterministic, встроенные • Возвращают одинаковый результат • WHERE the_column = FLOOR(123.45) • Non-deterministic • Возвращают разный результат • WHERE the_column = RAND() ∗ 100 • Stored functions и UDFs • Индексы не используются MySQL: Use indexes on generated columns MariaDB: Use indexes on generated columns Как MySQL Использует Индексы: Выражения 45 ©2021 Percona
  • 100. • Временные таблицы • tmp_table_size • max_heap_table_size • default_tmp_storage_engine Увеличьте Размер для Временных Буферов 47 ©2021 Percona
  • 101. • Временные таблицы • tmp_table_size • max_heap_table_size • default_tmp_storage_engine • Буферы для выполнения запросов • join_buffer_size JOIN, которые не используют индексы Увеличьте Размер для Временных Буферов 47 ©2021 Percona
  • 102. • Временные таблицы • tmp_table_size • max_heap_table_size • default_tmp_storage_engine • Буферы для выполнения запросов • join_buffer_size • read_buffer_size Кэширование индексов в ORDER BY Bulk insert into partitions Кэш результатов вложенных запросов Увеличьте Размер для Временных Буферов 47 ©2021 Percona
  • 103. • Временные таблицы • tmp_table_size • max_heap_table_size • default_tmp_storage_engine • Буферы для выполнения запросов • join_buffer_size • read_buffer_size • read_rnd_buffer_size Оптимизация запросов multi-rane Увеличьте Размер для Временных Буферов 47 ©2021 Percona
  • 104. • Временные таблицы • tmp_table_size • max_heap_table_size • default_tmp_storage_engine • Буферы для выполнения запросов • join_buffer_size • read_buffer_size • read_rnd_buffer_size • select_into_buffer_size SELECT INTO OUTFILE SELECT INTO DUMPFILE Увеличьте Размер для Временных Буферов 47 ©2021 Percona
  • 105. • Временные таблицы • tmp_table_size • max_heap_table_size • default_tmp_storage_engine • Буферы для выполнения запросов • join_buffer_size • read_buffer_size • read_rnd_buffer_size • select_into_buffer_size • sort_buffer_size ORDER BY GROUP BY Увеличьте Размер для Временных Буферов 47 ©2021 Percona
  • 106. • Временные таблицы • tmp_table_size • max_heap_table_size • default_tmp_storage_engine • Буферы для выполнения запросов • join_buffer_size • read_buffer_size • read_rnd_buffer_size • select_into_buffer_size • sort_buffer_size • Изменяйте только локально! Увеличьте Размер для Временных Буферов 47 ©2021 Percona
  • 107. • Оборудование RAM: больше - лучше Disk: SSD или NVMe CPU: больше ядер, больше активных клиентов Net: самая быстрая Выводы 48 ©2021 Percona
  • 108. • Оборудование • Конфигурация • InnoDB innodb_buffer_pool_size innodb_log_file_size innodb_thread_concurrency innodb_io_capacity innodb_flush_method innodb_flush_log_at_trx_commit • Сервер sync_binlog table_open_cache table_definition_cache Выводы 48 ©2021 Percona
  • 109. • Оборудование • Конфигурация • Производительность Запросов • Используйте индексы • Настройте буферы оптимизатора tmp_table_size join_buffer_size read_buffer_size read_rnd_buffer_size select_into_buffer_size sort_buffer_size Выводы 48 ©2021 Percona
  • 110. Troubleshooting hardware resources Troubleshooting configuration issues MySQL Query Tuning for Dev[Op]s Percona Monitoring and Management Percona Kubernetes Operators Дополнительная Информация 49 ©2021 Percona