• Главная
  • Контакты
Подписаться:
  • Twitter
  • Facebook
  • RSS
  • VK
  • PushAll
logo

logo

  • Все
    • Положительные
    • Отрицательные
  • За сегодня
    • Положительные
    • Отрицательные
  • За вчера
    • Положительные
    • Отрицательные
  • За 3 дня
    • Положительные
    • Отрицательные
  • За неделю
    • Положительные
    • Отрицательные
  • За месяц
    • Положительные
    • Отрицательные
  • За год
    • Положительные
    • Отрицательные
  • Сортировка
    • По дате (возр)
    • По дате (убыв)
    • По рейтингу (возр)
    • По рейтингу (убыв)
    • По комментам (возр)
    • По комментам (убыв)
    • По просмотрам (возр)
    • По просмотрам (убыв)
Главная
  • Все
    • Положительные
    • Отрицательные
  • За сегодня
    • Положительные
    • Отрицательные
  • За вчера
    • Положительные
    • Отрицательные
  • За 3 дня
    • Положительные
    • Отрицательные
  • За неделю
    • Положительные
    • Отрицательные
  • За месяц
    • Положительные
    • Отрицательные
  • Главная
  • Базы данных с открытым исходным кодом на больших машинах: скорость диска и innodb_io_capacity. Часть 2

Базы данных с открытым исходным кодом на больших машинах: скорость диска и innodb_io_capacity. Часть 2 +12

24.04.2017 10:24
rdruzyagin 0 2000 Источник
Хранение данных*, Администрирование баз данных*, DevOps*, Блог компании PG Day'17 Russia
Сегодня предлагаем вашему вниманию вторую часть статьи Светы Смирновой и Анастасии Распопиной о повышении производительности InnoDB.

Очень подробно этот вопрос также разберет Петр Зайцев, основатель компании Percona на своем мастер-классе 5 июля. Петр расскажет о том, как правильно использовать возможности MySQL 5.7 для того, чтобы обеспечить максимальную производительность, а также даст конкретные рекомендации относительно конфигурации сервера, схемы базы данных, архитектуры приложения и выбора оборудования. Не упустите возможность посетить этот уникальный мастер-класс, специально для PG Day Петр впервые в России подготовит его на русском языке!




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

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

Конфигурация аппаратных средств:
Процессоры: физические = 4, ядра = 72, виртуальные = 144, hyperthreading = да
Память: 3.0T
Скорость диска: около 3K IOPS
ОС: CentOS 7.1.1503
Файловая система: XFS

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

Хоть я и ожидала, что мои тесты перестанут расти в производительности из-за скорости диска, высоких значений IO в результатах iostat замечено не было. Я уже проводила тестирование с полным набором данных, помещающихся в память. В этом случае производительность записи влияла только на сброс данных на диск и запись в журнал. Но мы все равно должны увидеть заметное снижение скорости. Поэтому я решила попробовать RW-тесты полностью в памяти. Я создала ramdisk и установила на нем MySQL datadir. Удивительно, но результаты на SSD и ramdisk не отличались.


Я попросила моих коллег из Postgres Professional протестировать PostgreSQL с помощью ramdisk. Они получили похожие результаты:


Интересно, что значение innodb_io_capacity никак не влияет на эту ситуацию. Данные для графика ниже были взяты, когда я запускала тесты на ramdisk. Я хотела посмотреть, могу ли я, используя эту переменную, контролировать активность IO на диске, который по умолчанию очень быстр.


Это полностью противоречит всему моему прошлому опыту с менее производительными машинами. Percona переназначила машину с более быстрым диском (которую я использовала ранее в этой статье), поэтому я использовала аналогичную с меньшей скоростью диска.

Конфигурация аппаратных средств:
Процессоры: физические = 2, ядра = 12, виртуальные = 24, hyperthreading = да
Память: 47.2G
Скорость диска: около 3K IOPS
ОС: Ubuntu 14.04.5 LTS (trusty)
Файловая система: ext4

Опять же, в этом случае тесты innodb_io_capacity с меньшим количеством ядер процессора показали более предсказуемые результаты.

Заключение:

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

Свои вопросы Светлане вы можете оставить в комментариях, а также задать лично на ее мастер-классе в рамках PG Day'17 об отладке производительности MySQL.
Поделиться с друзьями
-->

Комментарии (0)

МЕТКИ

  • Хабы
  • Теги

Хранение данных

Администрирование баз данных

DevOps

Блог компании PG Day'17 Russia

mysql

SQL

databases

СЕРВИСЫ
  • logo

    CloudLogs.ru - Облачное логирование

    • Храните логи вашего сервиса или приложения в облаке. Удобно просматривайте и анализируйте их.
Все публикации автора
  • Обучение на PG Day'17 Russia +2

    • 30.06.2017 10:17

    «Технологический центр Дойче Банка — это структура для IT-поддержки глобального бизнеса банка» — Александр Халухин +3

    • 29.06.2017 08:56

    Обзор основных секций конференции PG Day'17 Russia +5

    • 28.06.2017 06:41

    «В Тарантуле нет такой проблемы как сильная деградация со временем и под нагрузкой» – Василий Сошников +14

    • 26.06.2017 09:09

    Возможности PostgreSQL для тех, кто перешел с MySQL +57

    • 23.06.2017 06:27

    «Я не могу просто ходить с флагом «Postgres – наше всё». Нужно руками доказывать, что это работает» – Алексей Лустин +10

    • 22.06.2017 13:48

    Жизнь Oracle I/O: трассировка логического и физического ввода-вывода с помощью SystemTap +5

    • 21.06.2017 09:38

    «Мое самое главное испытание – не сломать драйвер» — Dave Cramer о разработке драйвера JDBC для PostgreSQL +8

    • 20.06.2017 06:49

    11 вопросов к администраторам баз данных PostgreSQL, часть 2 +6

    • 19.06.2017 14:51

    11 вопросов к администраторам баз данных PostgreSQL +4

    • 16.06.2017 11:02

Подписка


ЛУЧШЕЕ

  • Сегодня
  • Вчера
  • Позавчера
10:32

Наше расследование: ищем отечественные микросхемы в «отечественных» счетчиках электроэнергии. Часть 4 и снова блогер… +92

08:05

Оживляем топливомер из кабины «Боинга» +39

09:01

TIG сварка в домашней мастерской, начало. Обзор, подборка мелочей. Часть 2 +31

13:05

Мой начальник хочет no-code в проде. Я против — и готов уйти +27

13:01

Как я «случайно» получил root-доступ к платёжному терминалу +25

09:24

Diplodoc 5.0: как ускорить сборку документации в пять раз +25

10:53

Как организовать идеальное рабочее место: проверенные решения от команды Selectel +22

12:42

Программируя с использованием AI ты продаешь душу дьяволу +17

08:53

Что происходит с вашим JavaScript-кодом внутри V8. Часть 1 +17

08:04

Безумный эксперимент: запускаем GTA V на Pentium 4 — возможно ли это? +17

11:08

Почему джуны — это инвестиция в команду, а не слабое звено? +13

08:31

«Разработчик – легенда»: анатомия волчистости в IT +13

07:52

Домашняя мастерская по ремонту электроники: работа с ЛБП, мультиметром и осциллографом +12

13:46

Внутристраничная очистка в индексах PostgreSQL +10

13:20

Электрификация России. Прогресс и промышленный фокус +9

11:27

Цветовая вычислительная фотография. Часть 2: Стандарты CIE 1931 +8

10:50

Приоткрываем завесу: о принципах работы дисковых хранилищ VK Cloud +8

10:50

Приоткрываем завесу: о принципах работы дисковых хранилищ VK Cloud +8

10:22

10 наивных советов тем, кто только начинает работать +8

05:51

Почему sync.Map — почти всегда плохая идея +8

07:00

Редизайн Яндекс Карт: почему мы перекрасили дороги +187

08:05

Газоразрядное табло для машины времени, или как я оказался в титрах к японской дораме +121

13:01

Мирный порох +79

07:31

Как ускорить сложение и вычитание при помощи 2^51 +57

15:01

Мифы цифровой революции: почему гиперлупы не летают, а ИИ не правит миром (пока что) +53

12:01

Почему мы до сих пор пользуемся QWERTY: история самой неэффективной раскладки +50

09:01

Просто редчайшая ГДР-овская Musima или уникальная мастеровая электрогитара из СССР? +41

04:53

Закат инженерной науки и что бы я посоветовал молодым людям, которые мечтают стать инженерами? +41

13:00

Бизнесу не нужно внедрять ИИ. Рассказываю, как ИИ-хайп ослепил российские компании +38

09:01

Как СМИ, консультанты, инфоцыгане и прочие провоцируют переработки и корпоративную шизу. Часть 4 +34

08:05

Edge AI: локальный инференс — новый драйвер эффективности бизнеса +32

06:04

Это личное! Как femtech-приложения защищают наши данные +28

09:55

Проблемы БД или почему большой продакшн спасут только массовые расстрелы запросов +26

08:12

Как устроены фотонные компьютеры +25

07:51

ZLinq — Zero-Allocation LINQ-библиотека для.NET +25

10:24

Данные на продажу: что происходит с информацией после утечек +24

08:09

«Кобра»: персоналка эпохи социализма, о которой вы не знали +23

06:08

Исчисление геометрии Часть 1. Алгебры Клиффорда +21

08:30

3D для каждого. Оптимизация. Часть 4. Ремейк меша +20

08:01

Сложный способ писать программы +20

19:25

Localhost-атака: как Meta и Яндекс следят за пользователями Android через localhost +241

21:57

Как инфоцыгане отравили IT +231

13:01

Апгрейды для Денди: часть 2/2 +77

13:39

Прогрессивный JSON +46

09:01

Электронная нагрузка для разряда аккумуляторов на микроконтроллере PIC16F628A +45

08:14

Paranoia Mode: подборка инструментов для приватной и безопасной работы в Linux +42

15:30

Из декрета в аналитику — как я вкатилась в IT +37

08:23

3D-сканер из датчика Kinect Xbox 360 +36

12:02

Взломают или нет? Оцениваем риски вашей информационной системы и моделируем угрозы +33

12:55

Секреты изнанки музыкальных инструментов +32

10:38

Достижения российских ученых в первой половине 2025 года +30

08:05

Переводим спортивное табло на управление по Bluetooth и контроллер arduino +27

11:31

Один на один с Rust +24

12:48

Философствующий Claude 4, Gemini для самых маленьких и пачка агентов-программистов: главные события мая в ИИ +23

11:35

Об (отсутствии) синтаксической поддержки обработки ошибок в Go +23

12:15

Как построить свою ферму устройств и упростить работу с устройствами и эмуляторами: делимся опытом создания DeviceHub +22

07:19

5 игровых проектов, которые разрушают ожидания за 15 минут. И это прекрасно +20

15:00

Маленькая утилита для контроля квот в Yandex Cloud +17

13:21

Читаем под одеялом с фонариком: темная тема и документация в ТМС TestY 2.1 +15

09:45

Рецензия на книгу “Машинное обучение для приложений высокого риска” +15

ОБСУЖДАЕМОЕ

  • Закат инженерной науки и что бы я посоветовал молодым людям, которые мечтают стать инженерами? +41

    • 454   52000

    Редизайн Яндекс Карт: почему мы перекрасили дороги +193

    • 326   41000

    Как инфоцыгане отравили IT +232

    • 311   46000

    Localhost-атака: как Meta и Яндекс следят за пользователями Android через localhost +241

    • 180   34000

    «Разработчик – легенда»: анатомия волчистости в IT +12

    • 94   8900

    Об (отсутствии) синтаксической поддержки обработки ошибок в Go +23

    • 58   4100

    Мой начальник хочет no-code в проде. Я против — и готов уйти +26

    • 56   4600

    Мирный порох +79

    • 51   5300

    Почему мы до сих пор пользуемся QWERTY: история самой неэффективной раскладки +50

    • 51   11000

    Бизнесу не нужно внедрять ИИ. Рассказываю, как ИИ-хайп ослепил российские компании +38

    • 47   6100

    Образцовый джун +19

    • 47   4000

    Мифы цифровой революции: почему гиперлупы не летают, а ИИ не правит миром (пока что) +53

    • 45   4800

    Наше расследование: ищем отечественные микросхемы в «отечественных» счетчиках электроэнергии. Часть 4 и снова блогер… +99

    • 39   8400

    Конец эпохи программистов? Почему 80% IT-школ закроются к 2027 году -11

    • 36   2000

    Прогрессивный JSON +46

    • 32   14000
  • Главная
  • Контакты
© 2025. Все публикации принадлежат авторам.