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

Подписка


ЛУЧШЕЕ

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

Почему пуля круглая, а дырка квадратная? +49

08:00

Как я докатился до ортосплита и почему 42 клавиши — это все, что нужно +37

05:45

Агрессия полов +26

09:01

Искра прошлого. Необычный советский компьютер «Искра 1080 Тарту» +23

12:00

Почему никто не говорит об органоэлектронике +22

08:05

Приём служебного GSM-трафика без использования SDR +22

07:05

Бобина, VHS и стример. История одной из опорных технологий XX века. Часть 2 +19

05:00

Управляем умным домом Home Assitant через Алису и без интернета. Часть 2 +18

13:01

HTTP/3 и QUIC: почему интернет обновляется, и что это даёт приложениям +17

12:52

Пишем с нуля ядро операционной системы +16

12:10

Ваш смартфон вам не принадлежит. И вот как я в этом убедился… +16

12:58

Чтение на выходные: «Нужно больше золота. Взлёт, падение и будущее Blizzard Entertainment» Джейсона Шрейера +13

07:30

Пошаговая разработка SPI драйвера для ЗОСРВ «Нейтрино» +13

07:47

Первая линия обороны: как мы используем стажировки в SOC и при чём здесь Япония +12

02:46

Архитектура QA: как мыслят лиды и зачем компании нужен высокий уровень управления качеством +12

09:26

Писать код просто, а читать сложнее +11

08:25

Отправиться на тот цвет: CSS Color 4. Как добавить яркие краски в серые веб-будни +10

06:51

Достаточно ли ru-RU для указания языка на веб-странице +10

10:13

Профессия IT-юриста: о правовых тонкостях, репутации, цвете хакера и коммерческой тайне +8

07:20

Как построить Telegram-сообщество на зарубежном рынке: от идеи до 29 000 подписчиков +8

06:33

Ёмкость батареек через четыре года хранения +105

08:00

Индюк Мелового периода: что не так с образом велоцираптора +82

16:02

Фастнет 1979: шторм, изменивший историю парусного спорта +63

14:03

Как я обнаружил в ноутбуке Dell Inspiron баг ACPI, одолевавший меня восемь лет +49

08:05

Санпросвет о плавающей точке, статья первая: компьютеры и числа +46

07:01

Как дорожные знаки попадают на карты Яндекса: применяем ML в картографии +38

12:01

Строим межцодовую трассу с ТЗ и расчетами +36

15:01

Криптопаразиты-снайперы: грабь награбленное‽ +32

08:25

Чем хорош Postgres 18? +31

07:02

Можно ли шаговый двигатель — заменить коллекторным? +31

11:06

Показываю арсенал инквизиции из своего стоматологического кабинета +29

13:01

«Хоть шерсти клок»: про электроспиннинг и не только +28

09:01

Установка бриджевого хамбакера на дешёвый стратокастер +27

10:43

Как математика тасовки карт едва не разрушила империю онлайн-покера +26

07:25

Использование файберов в PHP: разбор от команды СберЗдоровье +24

17:08

Как написать простейшую нейросеть на python, простыми словами о сложном +23

07:00

Клиенты натирали ляжки на жаре и просили крем — как мы его разрабатывали +23

10:06

Как проектировать интерфейсы по азиатски: холистически и беспощадно +21

13:16

Процессорный модуль Corgi SoM v1 на базе Xilinx Zynq-7000 +20

08:57

История статической и динамической типизации +19

06:16

Почему я больше никогда не буду Team-Lead и тебе не советую +160

07:05

Китайский интернет куда-то исчезает +156

15:32

Я отклоняю комиты с использованием кучи и прошу коллег переписать такую логику +140

09:56

Структурки для ошкурки от ВТБ: как потерять 14 млн руб. на «сверхнадежных облигациях» всего за неделю +95

13:01

3D-моделирование из бумаги +72

09:01

Легендарные костыли в продакшене +46

09:10

Главный эффект Манделы в мире программистов — сколько байт в мегабайте +37

08:01

Полный айсберг Android. Часть 1 +35

19:50

Не просто RAG: Строим MCP-сервер на Node.js, чтобы дать LLM «архитектурное зрение» +34

13:30

Часть 1. Rsync: подробное руководство для админов +31

00:48

«Очумелые ручки» или собираем держатель для смартфона с клавиатурой и тачпадом из доступных средств +30

12:18

История создания Tarantool DB: реальные проблемы, удачные решения и превращение проекта в продукт +28

12:18

История создания Tarantool DB: реальные проблемы, удачные решения и превращение проекта в продукт +28

13:36

USBODE: самодельный аналог «кармана» IODD / Zalman +27

14:43

PHP: Общая память +22

12:14

Топ-12 бесплатных нейросетей для создания видео и оживления картинок +20

07:05

Шпаргалка по проектированию REST API +19

07:00

Как мы делаем ВКС в Яндексе, часть 2: это волшебное слово — эксплуатация +19

16:50

Покраска Cтека (Stack Painting) +18

08:19

Как я сделал школьного бота в Telegram — и почему проект пришлось закрыть +18

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