• Главная
  • Контакты
Подписаться:
  • 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

Подписка


ЛУЧШЕЕ

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

А кто у вас отвечает за kube-api? Безопасность Kubernetes при помощи CIS Benchmark +28

08:22

Эмуляция «тетриса» Apollo из 90-х и запуск кода на оригинальном железе +26

09:01

Реставрация, которая меня сломала: Почему убрать смех из Скуби-Ду сложнее, чем сделать ремастер Тома и Джерри в 2к +23

05:06

Как изготовить корпус из листового металла +23

07:00

История опенсорс-проекта LUWRAIN: как эксперименты с LLM помогают создавать невизуальные интерфейсы для незрячих +20

12:11

Open source-стратегии: как МойОфис развивает открытый подход — рассказывает Тамара Щепалкина, CTO компании +19

07:02

Почему операционный усилитель — плохой компаратор +19

08:57

Перед вами первый «торговый автомат» по продаже крепкого алкоголя. Вы не поверите, но ему уже почти три века +16

07:05

Вкус успеха: съедобные 3D модели +16

05:34

Эти компании заменили тысячи людей на ИИ, а потом дали заднюю. Как так вышло? +16

07:38

Почему я отказался от ORM в пользу чистого SQL +15

03:03

Библиотека Python для доступа к данным ЦБ: cbrapi +15

08:13

Зал Славы видеоигр: зачем мы это делаем +14

06:01

Особенности Python, о которых вас точно спросят на техническом собеседовании. Часть 2 +14

06:19

Нейросеть — это хорошо, но дайте выбор. Как я убрал «Алису» из поиска Яндекса +10

09:43

MapStruct: как безобидный метод портит весь маппинг +9

11:17

GPS-мониторинг выездных сотрудников: посчитать, ускорить, не оставить в беде +8

12:15

Как мы воскресили русский NLP и сократили потребление памяти на 90% +7

10:51

OpenAI ModerationAPI: примеры использования +7

09:58

Кому нужен Graphviz, если можно написать его самому? +7

08:05

Сложно о простом. Все, что бы вы хотели знать о SFP модулях. Часть 2. Оптические кабели +59

11:16

Камера, снимающая с частотой 2 000 000 000 кадров в секунду +44

10:01

Развёртывание своего облачного хранилища на VPS: Nextсloud и альтернативы +42

09:01

HTML и CSS антипаттерны +36

12:40

Когда-то вас было трое, а потом драйв кончился… Опыт проб и ошибок в мотивации команды от хэда разработки +35

14:15

Я CSS-программист: «Магия» CSS или как превратить язык стилей в Тьюринг-полный ад +33

09:54

Что такое веб-сервер в Node.js и как его запустить на удаленном сервере +32

07:01

Почтовый Шарпей: как мы приручили 700+ шардов PostgreSQL +32

13:28

ТОП-10 малоизвестных AI-сервисов, которые удивляют возможностями +26

13:01

Мониторинг изменений на сайтах +22

09:02

5 распространенных ошибок, которые допускают пользователи NAS +21

09:32

Оптика в техническом зрении. Лекция 3: Диафрагмы и виньетирование +20

07:14

ML глазами практика и препода. Часть 2. Границы роста и цена энергии +20

07:14

ML глазами практика и препода. Часть 2. Границы роста и цена энергии +20

09:08

Как я чуть не положил домен заказчика ZeroLogon’ом, или почему некоторые пентестеры опаснее хакеров +19

12:18

Почему управление ИТ-инфраструктурой становится только сложнее и что с этим делать? +18

13:39

Психологическая безопасность в IT: почему молчание — это проблема для каждого из нас +17

08:16

Текучка, выгорание и «мусорное спасибо»: как аутентичное признание экономит компании деньги +17

07:05

Ликбез по стоковым лицензиям: как легально использовать картинки и избежать штрафов +16

05:00

Интернет радио, продолжение +15

11:44

Протокол VLESS: Как он обходит цензуру в России и почему это работает +231

06:40

Почему дисциплина через силу не работает +143

11:22

Почему Pascal лучше для обучения программированию, чем Python +88

09:01

Разбираемся с композитным видеосигналом NTSC, и стоит ли изучать его в 2025 году. Часть 1 +65

13:01

Про 3D-печать нейлоном +60

10:20

Водоснабжение в Древнем Риме +57

13:07

Клиент telega сотрудничает с telegram и Павлом Дуровым? Разбираемся +50

08:05

«Он же айтишник, у них всем платят по триста»: проверяем легенды IT-рынка с Патриков +50

18:15

Почему Fortran в 2025 году всё ещё остаётся «ракетой» +40

11:30

Электроника в вопросах и ответах 4 +38

04:09

Раздувает ли пузырь круговое финансирование ИИ? +36

12:20

Что такое глина? +35

05:53

URL как контейнер состояния +28

14:31

Пять новых мини-ПК ноября 2025 года: от крошечных AI-станций до «умных» колонок с Ryzen +25

12:15

Визуализация горного ландшафта на C++ или велосипед для рендеринга +24

08:00

Как использовать callback-функции в JavaScript +23

07:51

Ухо не выполняет преобразование Фурье +18

05:01

Единая теория всего… в 3D графике? Разбираем алгебру Клиффорда как универсальный язык геометрии +16

11:04

Математический парадокс показывает, как сочетание проигрышных стратегий может привести к победе +14

10:16

PCIe, водянка и райзеры: реальный опыт сборки сервера под 5 GPU дома +14

ОБСУЖДАЕМОЕ

  • Почему Pascal лучше для обучения программированию, чем Python +88

    • 486   21000

    Пользовательский опыт остается заложником предубеждений. MAX и Telegram -53

    • 377   50000

    Протокол VLESS: Как он обходит цензуру в России и почему это работает +231

    • 360   95000

    Почему дисциплина через силу не работает +143

    • 330   100000

    «Он же айтишник, у них всем платят по триста»: проверяем легенды IT-рынка с Патриков +50

    • 210   46000

    Как Amazon сделал склад умным, а Россия – нет +12

    • 130   27000

    Как я решил бросить программирование, стать вайбкодером и что из этого вышло -2

    • 122   32000

    Я хакнул галактику (часть 2) +11

    • 80   9300

    Как я генерирую тексты для сайта без копирайтеров (и почему поисковики этого не замечают) +11

    • 77   48000

    Текучка, выгорание и «мусорное спасибо»: как аутентичное признание экономит компании деньги +17

    • 64   24000

    Почему Fortran в 2025 году всё ещё остаётся «ракетой» +40

    • 58   9400

    Почему Go? -19

    • 40   7700

    5 распространенных ошибок, которые допускают пользователи NAS +21

    • 37   6800

    Электроника в вопросах и ответах 4 +38

    • 34   4000

    Разбираемся с композитным видеосигналом NTSC, и стоит ли изучать его в 2025 году. Часть 1 +66

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