SlideShare a Scribd company logo
Innodb – Масштабируемость и новые возможности Peter Zaitsev Percona Inc HighLoad.RU 2008 Moscow, Russia Oct 6-7, 2008
Немного о Докладчике Основатель Percona Inc Оптимизация производительности, масштабируемость,  надежность систем на MySQL Основатель  http://www.mysqlperformanceblog.com Со-Автор  “High Performance MySQL Second Edition - -
О чем эта презентация ? Innodb – наиболее популярная система хранения в MySQL Которая к сожалению не слишком хорошо масштабируется Рассмотрим проблемы и их решения Посмотрим на другие аспекты производительности Innodb Фокус – существующий код MySQL 5.0 и 5.1 А так же сторонние данные.
Масштабируемость В широком смысле – масштабируемость приложения Задача – обеспечение нужной производительности за разумную стоимость Есть так же требования по надежности безопасности доступности итд “Рост” приложения – размер базы данных чисто запросов, часто их сложность.
Вопрос выживания или денег ? Многие системы спроектированы используя один сервер Часто не за какие деньги невозможно купить сервер с характеристиками нужными для роста Максимальное использование ресурсов сервера вопрос выживания Другие системы могут использовать произвольное число серверов с произвольной производительностью Ее максимизация – вопрос эффективности
Масштабируемость роста Как ведет себя производительность при росте объема данных ? Зачастую вопрос архитектуры/схемы баз данных Поведение координально меняется когда данные перестают влезать в память Как ведет себя производительность при росте сложности запросов ? Понимать и контролировать сложность Параллельное выполнение  Прегенерация данных итд
Масштабируемость железа Вопрос насколько большое приложение должно стать до того как потребуется использование многих серверов Вопрос эффективного использования Всегда есть конфигурация с оптимальной ценой производительностью Важна возможность ее эффективного использования Последние годы число ядер процессора в доступных системах резко увеличилось и проблемы затрагивают все более широкие слои
Тестрировние Микро-Тестами Микро-Тесты Производительности – простые операции Тестирование какого-то определенного аспекта поведениия Проблемы найденые при них проявляются и в реальных приложениях Однако они не раскрывают все проблемы разумеется Часто могут приувеличивать проблему Может проявлятся в меньшей степени в реальных приложениях
Не забудьте об обслуживании Часто забывают о требовании производительности обслуживания Очень важно для реально используемых приложений Обычно связаны с размером данных и потреблением ресурсов
Работа с большими объемами Сложны в обращении ! Резервное Копирование  обязательно физическое В Innodb таблицы нельзя перемешать между серверами Нет возможости REPAIR TABLE При повреждениях часто приходится загружать таблицу из дампа, часто быстрее восстановить все из бакапа ALTER TABLE  очень медленная  Master-Master репликация может помочь Обслуживание таблиц  OPTIMIZE TABLE
Быстрое создание индексов MySQL 5.1 Innodb плагин от Oracle Так же включен в MySQL 5.1 от Percona Innodb может создавать индексы без  перестройки всей таблицы И что важно с помошью сортировки Загрузка в 10 раз быстрее и более компактные индексы (специальный метод загрузки)
Как сортировка влияет на индекс Индекс построеный с помошью сортировки физически сортирован и имеет большее заполнение страниц Полное Сканирование индекса (с диска) 31 sec  стандартный и  22 sec  сортированный Процессор становится ограничивающим фактором Обновление ндекса: update sample set c=md5(i) where i%1000=1; 3 min 20 sec   стандертаны  и  8 min 16 sec  сортированый Рост размера индекса 0%  (стандартный) и  30%  (сортированый)
Сжатие Данных Innodb расширение также имеет ф-ю сжатия данных Постраничное сжатие без ограничение на обновление Дополнительно большие BLOB/TEXT поля сжимаются келиком Много продвинутых технологий позволяющих делать уделение и ряд обновлений без повторного сжатия Балансировка сжатых и расжатых страниц в кэше  Несколько сложно в использовании “Угадай какое сжатие будет наиболее эффективно”
Много Таблиц Много маленьких таблиц часто может использоваться вместо одной большой Innodb держит мета данные о всех таблиц к которым было обращение в памяти что может занять много памяти.  Не такая большая проблема для 64bit платформ innodb_file_per_table =1 Увеличивает потребление место маленькими таблицами Если таблиц очень много то восстановление после сбоя может быть очень долгим “Разогрев” существенная таблица Открытие строго сериализовано  (MySQL 5.0) И медленное так как происходит обновление статистик
Работа с большим buffer pool Обычно чем больше buffer pool тем лучше Расчитывайте на “Разогрев” Чем больше buffer pool тем он дольще 32GB будет заполнятся 1 час  При скорости чтения  600 страниц в сек Checkpoint активность может приводить к большим провалом производительности Иногда восстановление после сбоя происходит существенно медленнее с большим объемом кэша
Работа с большим Buffer pool Корректная остановка сервера занимает дольше времени Все  модифицированные страницы Buffer Pool  должны быть сохранены на диск Установите  innodb_max_dirty_pages_pct=0   заранее чтобы  почти все страницы были агрессивно сброшены.
Репликация Репликация отстает куда быстрее чем мастер или слейв полностью загружены Все большая проблема с многоядерными проц-ами. А так же когда нет BBU кэша в RAID на слейве Часто ограничено скоростью транзакций установите  innodb_flush_log_at_trx_commit=2 Репликация то все равно асинхронно Ограничена скоростью собственно обновлений Диск  - префетчинг может помочь (кэш) Процессор – смотрите row level replication в 5.1 Оптимизация траффика репликации
А теперь бенчмаки Относитесь к результатам критично
Масштабируемость 5.0 MySQL 5.0.51a Dell PE 2950  2* Quad Core CPUs Intel Xeon L5335 Нет Дискового ввода вывода Масштабируемость сильно зависит от нагрузки Фактор масштабирования относительно числа потоков
Масштабируемость 5.1 MySQL 5.1.23-rc Все то же самое кроме версии Видно большое падение производительности Вроде исправлено в 5.1.28 Фактор масштабируемости относительно числа потоков
Пр-сть одного потока Сложно судить только по фактору масштабирования Показываем скорость относительно 5.0.22 5.0.22 и 5.0.51  очень близки 5.1 показывает некоторую потерю производительности Относительная производительнось разных версий
М-ость разных версий Фактор масштабирования для  64 потоков MySQL 5.0.51 лучшие результаты Заметные улучшения относительно 5.0.22 5.1 медленнее (возможно исправлено) Фактор масштабирования разных версий MySQL
innodb_thread_concurrency Производительность для  64  потоков MySQL 5.1.23 innodb_thread_concurrency=0 - база Нет лучшего значения для всех типов нагрузки Как innodb_thread_concurrency влияет не производительность
Fixing scaling by CPU Affinity Performance for 16 threads MySQL 5.1.23 5.0.51a for comparison Workloads which scaled worse on 5.1.23 Trying to bind MySQL to specific CPU  Cores Restricting can help scaling  How binding to CPUs affects performance
Quadcore vs Dual Core MySQL 5.1.23rc Нагрузки которые плохо масштабируются 2 из  3х типов нагрузки лучше ведут себя на 2*Dual Core сситеме Масштабируемость и число ядер
Large Pages MySQL can use Large Pages for Innodb Buffer Pool  Huge Pages reduce TLB cache misses Non Swapable Mediocre results for this workload, may be better in case of skewed working set Performance effect of using Large Pages
Innodb – Масштабируемость IO Dell PowerEdge 2950, Perc6, CentOS 5.0 RAID1 иRAID10 (6 disk) SysBench тест Масштабируемость RAID
EXT3 и EXT2 То же самое железо RAID10  Ext3 хуже на запись (оверхед на журналирование) но несколько лучше на чтение. Производительность Файловых систем
Linux планировщики I/O Улучшились за последние годы Разница не такая большая как несколько лат назад CFQ (стандартный) дает лучшую производительность в этом случае Performance effect of using Large Pages
Будущее Innodb Oracle продолжает вести работы В страшной секретности и не раскрывает планов Community берет развитие в свои руки Google (Mark Callaghan) выпустили патчи улучшающие производительность на ряде операций На некоторых других производительность падает Yasufumi – множество патчей улучшающих масштабируемость Percona -  Патчи/релизы  Улучшение производительности Анализ производительности
Спасибо что пришли ! Время для вопросов Пишите [email_address]   Приходите к нам За информацией:  http://www.mysqlperformanceblog.com За помошью:  http://www.percona.com

More Related Content

PDF
Современные флэш-технологии – от концепции к преимуществам использования // А...
IBS
 
PPTX
Велосипед уже изобретен. Что умеют промышленные СХД? / Антон Жбанков (Nutanix)
Ontico
 
PPT
SAM за 7 шагов. Рецепт для небольших компаний
Valery Bychkov
 
PDF
Inspur Smartrack – инновационное решение для горизонтального масштабирования ...
IBS
 
PPTX
Nutanix Acropolis - облако на базе KVM под ключ, Максим Шапошников (Nutanix)
Ontico
 
PDF
Максим Шапошников, Nutanix
Ontico
 
PDF
Виртуализация инфраструктуры ЦОД российской разработки // Владимир Порохов (O...
IBS
 
PPT
hl++ Rubtsov
Ontico
 
Современные флэш-технологии – от концепции к преимуществам использования // А...
IBS
 
Велосипед уже изобретен. Что умеют промышленные СХД? / Антон Жбанков (Nutanix)
Ontico
 
SAM за 7 шагов. Рецепт для небольших компаний
Valery Bychkov
 
Inspur Smartrack – инновационное решение для горизонтального масштабирования ...
IBS
 
Nutanix Acropolis - облако на базе KVM под ключ, Максим Шапошников (Nutanix)
Ontico
 
Максим Шапошников, Nutanix
Ontico
 
Виртуализация инфраструктуры ЦОД российской разработки // Владимир Порохов (O...
IBS
 
hl++ Rubtsov
Ontico
 

What's hot (20)

PPTX
Как мы готовим MySQL / Николай Королёв (Badoo)
Ontico
 
PDF
Дедупликация. Нет громоздким ленточным библиотекам
КРОК
 
PDF
IBM FlashSystem-Бескомпромиссность в каждом байте
Yaryomenko
 
PDF
Флеш в серверах: работа со скоростью вспышки
КРОК
 
PDF
24 hop sql_in_to_wa_1c _19march_2014_russian
Maksim Lemeshko
 
PPTX
Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...
Ontico
 
PPTX
Стратегия и тактика улучшения производительности BSS систем оператора мобильн...
Ontico
 
PPTX
Максим Исаев, IBS. Практика использования комплекса Veritas NetBackup для мод...
IBS
 
PDF
Гиперконвергентность в трех измерениях: решения, технологии, эффективность
КРОК
 
PDF
Конференция по программным решениям HPE 2016
Andrey Karpov
 
PDF
Дедупликацию в каждый ЦОД
КРОК
 
PPTX
Защита датацентров и данных от катастроф на базе технологий Nutanix / Максим ...
Ontico
 
PDF
Net Аpp. Лучший фундамент для облака
Yulia Sedova
 
PDF
Оптимизация производительности: магия или методика
КРОК
 
PDF
Android Telegram S Optimizations
Stepan Korshakov
 
PDF
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками
IBS
 
PDF
Ibm megatrade шиндак xiv v3.0
Nick Turunov
 
PPTX
VMUG Moscow 2014 Проблемы с дисками?
Anton Zhbankov
 
PPTX
All about Azure - Kazan
Alexey Bokov
 
PDF
Настройка Kubernetes: tips ans tricks
Mike Prokopchuk
 
Как мы готовим MySQL / Николай Королёв (Badoo)
Ontico
 
Дедупликация. Нет громоздким ленточным библиотекам
КРОК
 
IBM FlashSystem-Бескомпромиссность в каждом байте
Yaryomenko
 
Флеш в серверах: работа со скоростью вспышки
КРОК
 
24 hop sql_in_to_wa_1c _19march_2014_russian
Maksim Lemeshko
 
Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...
Ontico
 
Стратегия и тактика улучшения производительности BSS систем оператора мобильн...
Ontico
 
Максим Исаев, IBS. Практика использования комплекса Veritas NetBackup для мод...
IBS
 
Гиперконвергентность в трех измерениях: решения, технологии, эффективность
КРОК
 
Конференция по программным решениям HPE 2016
Andrey Karpov
 
Дедупликацию в каждый ЦОД
КРОК
 
Защита датацентров и данных от катастроф на базе технологий Nutanix / Максим ...
Ontico
 
Net Аpp. Лучший фундамент для облака
Yulia Sedova
 
Оптимизация производительности: магия или методика
КРОК
 
Android Telegram S Optimizations
Stepan Korshakov
 
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками
IBS
 
Ibm megatrade шиндак xiv v3.0
Nick Turunov
 
VMUG Moscow 2014 Проблемы с дисками?
Anton Zhbankov
 
All about Azure - Kazan
Alexey Bokov
 
Настройка Kubernetes: tips ans tricks
Mike Prokopchuk
 
Ad

Viewers also liked (7)

PPTX
I Safety 1c Bitrix
Ontico
 
PDF
Gmr Highload Presentation Revised
Ontico
 
PPTX
Highload sites, master-class, OK-2009
Ontico
 
PPTX
HighLoad Sites, Oleg Bunin
Ontico
 
PPTX
Как разработать социальную сеть, Олег Бунин
Ontico
 
PPTX
I Safety 1c Bitrix
Ontico
 
PDF
Встреча докладчиков HL++ 2015
Ontico
 
I Safety 1c Bitrix
Ontico
 
Gmr Highload Presentation Revised
Ontico
 
Highload sites, master-class, OK-2009
Ontico
 
HighLoad Sites, Oleg Bunin
Ontico
 
Как разработать социальную сеть, Олег Бунин
Ontico
 
I Safety 1c Bitrix
Ontico
 
Встреча докладчиков HL++ 2015
Ontico
 
Ad

Similar to Innodb Scalability And New Features Hl2008 Rus (20)

PDF
"Производительность MySQL: что нового?"
Badoo Development
 
PDF
Open Source SQL-базы данных вступили в эру миллионов запросов в секунду / Фед...
Ontico
 
PDF
OpenSource SQL Databases Enter Millions Queries per Second Era
Sveta Smirnova
 
PDF
Отладка производительности СУБД MySQL
Sveta Smirnova
 
PDF
Введение в отладку производительности MySQL приложений
Sveta Smirnova
 
PPT
MySQL для высоконагруженных проектов
Softline
 
PDF
My sql 5.6-new-stable-mmug
Andrey Tokarchuk
 
ODP
Wonderful World Of Mysql Storage Engines Hl2008 Rus
Ontico
 
PDF
Что нужно знать о трёх топовых фичах MySQL
Sveta Smirnova
 
PPTX
MySQL Optimization. Russian
Rawan Qurmet
 
PDF
Пётр Зайцев, Percona
Ontico
 
PPTX
СУБД осень 2012 лекция 9
Technopark
 
PPTX
СУБД 2013 Лекция №8 "Конфигурирование базы данных"
Technopark
 
PDF
Что нового в MySQL 8.0? / Дмитрий Ленев (Oracle)
Ontico
 
PPT
оптимизация My Sql петр зайцев
Media Gorod
 
PDF
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
Sveta Smirnova
 
PDF
Мониторинг и отладка MySQL: максимум информации при минимальных потерях / Све...
Ontico
 
PDF
Devconf2013 new-features-in-mysql-and-mariadb
Sergey Petrunya
 
PPT
поиск узких мест в производительности My sql ботанический определитель. г. ру...
rit2011
 
PDF
Производительность MySQL для DevOps
Sveta Smirnova
 
"Производительность MySQL: что нового?"
Badoo Development
 
Open Source SQL-базы данных вступили в эру миллионов запросов в секунду / Фед...
Ontico
 
OpenSource SQL Databases Enter Millions Queries per Second Era
Sveta Smirnova
 
Отладка производительности СУБД MySQL
Sveta Smirnova
 
Введение в отладку производительности MySQL приложений
Sveta Smirnova
 
MySQL для высоконагруженных проектов
Softline
 
My sql 5.6-new-stable-mmug
Andrey Tokarchuk
 
Wonderful World Of Mysql Storage Engines Hl2008 Rus
Ontico
 
Что нужно знать о трёх топовых фичах MySQL
Sveta Smirnova
 
MySQL Optimization. Russian
Rawan Qurmet
 
Пётр Зайцев, Percona
Ontico
 
СУБД осень 2012 лекция 9
Technopark
 
СУБД 2013 Лекция №8 "Конфигурирование базы данных"
Technopark
 
Что нового в MySQL 8.0? / Дмитрий Ленев (Oracle)
Ontico
 
оптимизация My Sql петр зайцев
Media Gorod
 
Мониторинг и отладка MySQL: максимум информации при минимальных потерях
Sveta Smirnova
 
Мониторинг и отладка MySQL: максимум информации при минимальных потерях / Све...
Ontico
 
Devconf2013 new-features-in-mysql-and-mariadb
Sergey Petrunya
 
поиск узких мест в производительности My sql ботанический определитель. г. ру...
rit2011
 
Производительность MySQL для DevOps
Sveta Smirnova
 

More from Ontico (20)

PPTX
Риски, которые необходимо учесть при разработке сложного проекта (Олег Бунин)
Ontico
 
PPTX
Вебинар о конференции HighLoad++
Ontico
 
PDF
Call for papers (2014) ru
Ontico
 
PPTX
Учебный день конференции HighLoad++ 2013
Ontico
 
PDF
Конференции Онтико (2011)
Ontico
 
PPTX
Программный комитет HighLoad++, 6 октября
Ontico
 
PDF
Конференции 2010 / описание
Ontico
 
PPTX
Онтико, 2009
Ontico
 
PPTX
Конференции 2010
Ontico
 
PPTX
Economy of project development
Ontico
 
PPT
Ok2009 Пленарка
Ontico
 
ODP
Scaling Web Sites By Sharding And Replication Hl2008 Rus
Ontico
 
PPT
особенности построения собственной полнофункциональной Im сети
Ontico
 
PPT
использование смс технологий в высоконагруженных Web проектах дмитрий булыч...
Ontico
 
PPT
архитектурные приемы онлайн игры
Ontico
 
PDF
Tupitsyn High Load
Ontico
 
PPT
Spread Zaytsev3
Ontico
 
PPT
Smirnov Memcached High Load 2008
Ontico
 
PDF
Moskva Architecture Highload
Ontico
 
PPT
Hl++ ребров федоровских
Ontico
 
Риски, которые необходимо учесть при разработке сложного проекта (Олег Бунин)
Ontico
 
Вебинар о конференции HighLoad++
Ontico
 
Call for papers (2014) ru
Ontico
 
Учебный день конференции HighLoad++ 2013
Ontico
 
Конференции Онтико (2011)
Ontico
 
Программный комитет HighLoad++, 6 октября
Ontico
 
Конференции 2010 / описание
Ontico
 
Онтико, 2009
Ontico
 
Конференции 2010
Ontico
 
Economy of project development
Ontico
 
Ok2009 Пленарка
Ontico
 
Scaling Web Sites By Sharding And Replication Hl2008 Rus
Ontico
 
особенности построения собственной полнофункциональной Im сети
Ontico
 
использование смс технологий в высоконагруженных Web проектах дмитрий булыч...
Ontico
 
архитектурные приемы онлайн игры
Ontico
 
Tupitsyn High Load
Ontico
 
Spread Zaytsev3
Ontico
 
Smirnov Memcached High Load 2008
Ontico
 
Moskva Architecture Highload
Ontico
 
Hl++ ребров федоровских
Ontico
 

Innodb Scalability And New Features Hl2008 Rus

  • 1. Innodb – Масштабируемость и новые возможности Peter Zaitsev Percona Inc HighLoad.RU 2008 Moscow, Russia Oct 6-7, 2008
  • 2. Немного о Докладчике Основатель Percona Inc Оптимизация производительности, масштабируемость, надежность систем на MySQL Основатель http://www.mysqlperformanceblog.com Со-Автор “High Performance MySQL Second Edition - -
  • 3. О чем эта презентация ? Innodb – наиболее популярная система хранения в MySQL Которая к сожалению не слишком хорошо масштабируется Рассмотрим проблемы и их решения Посмотрим на другие аспекты производительности Innodb Фокус – существующий код MySQL 5.0 и 5.1 А так же сторонние данные.
  • 4. Масштабируемость В широком смысле – масштабируемость приложения Задача – обеспечение нужной производительности за разумную стоимость Есть так же требования по надежности безопасности доступности итд “Рост” приложения – размер базы данных чисто запросов, часто их сложность.
  • 5. Вопрос выживания или денег ? Многие системы спроектированы используя один сервер Часто не за какие деньги невозможно купить сервер с характеристиками нужными для роста Максимальное использование ресурсов сервера вопрос выживания Другие системы могут использовать произвольное число серверов с произвольной производительностью Ее максимизация – вопрос эффективности
  • 6. Масштабируемость роста Как ведет себя производительность при росте объема данных ? Зачастую вопрос архитектуры/схемы баз данных Поведение координально меняется когда данные перестают влезать в память Как ведет себя производительность при росте сложности запросов ? Понимать и контролировать сложность Параллельное выполнение Прегенерация данных итд
  • 7. Масштабируемость железа Вопрос насколько большое приложение должно стать до того как потребуется использование многих серверов Вопрос эффективного использования Всегда есть конфигурация с оптимальной ценой производительностью Важна возможность ее эффективного использования Последние годы число ядер процессора в доступных системах резко увеличилось и проблемы затрагивают все более широкие слои
  • 8. Тестрировние Микро-Тестами Микро-Тесты Производительности – простые операции Тестирование какого-то определенного аспекта поведениия Проблемы найденые при них проявляются и в реальных приложениях Однако они не раскрывают все проблемы разумеется Часто могут приувеличивать проблему Может проявлятся в меньшей степени в реальных приложениях
  • 9. Не забудьте об обслуживании Часто забывают о требовании производительности обслуживания Очень важно для реально используемых приложений Обычно связаны с размером данных и потреблением ресурсов
  • 10. Работа с большими объемами Сложны в обращении ! Резервное Копирование обязательно физическое В Innodb таблицы нельзя перемешать между серверами Нет возможости REPAIR TABLE При повреждениях часто приходится загружать таблицу из дампа, часто быстрее восстановить все из бакапа ALTER TABLE очень медленная Master-Master репликация может помочь Обслуживание таблиц OPTIMIZE TABLE
  • 11. Быстрое создание индексов MySQL 5.1 Innodb плагин от Oracle Так же включен в MySQL 5.1 от Percona Innodb может создавать индексы без перестройки всей таблицы И что важно с помошью сортировки Загрузка в 10 раз быстрее и более компактные индексы (специальный метод загрузки)
  • 12. Как сортировка влияет на индекс Индекс построеный с помошью сортировки физически сортирован и имеет большее заполнение страниц Полное Сканирование индекса (с диска) 31 sec стандартный и 22 sec сортированный Процессор становится ограничивающим фактором Обновление ндекса: update sample set c=md5(i) where i%1000=1; 3 min 20 sec стандертаны и 8 min 16 sec сортированый Рост размера индекса 0% (стандартный) и 30% (сортированый)
  • 13. Сжатие Данных Innodb расширение также имеет ф-ю сжатия данных Постраничное сжатие без ограничение на обновление Дополнительно большие BLOB/TEXT поля сжимаются келиком Много продвинутых технологий позволяющих делать уделение и ряд обновлений без повторного сжатия Балансировка сжатых и расжатых страниц в кэше Несколько сложно в использовании “Угадай какое сжатие будет наиболее эффективно”
  • 14. Много Таблиц Много маленьких таблиц часто может использоваться вместо одной большой Innodb держит мета данные о всех таблиц к которым было обращение в памяти что может занять много памяти. Не такая большая проблема для 64bit платформ innodb_file_per_table =1 Увеличивает потребление место маленькими таблицами Если таблиц очень много то восстановление после сбоя может быть очень долгим “Разогрев” существенная таблица Открытие строго сериализовано (MySQL 5.0) И медленное так как происходит обновление статистик
  • 15. Работа с большим buffer pool Обычно чем больше buffer pool тем лучше Расчитывайте на “Разогрев” Чем больше buffer pool тем он дольще 32GB будет заполнятся 1 час При скорости чтения 600 страниц в сек Checkpoint активность может приводить к большим провалом производительности Иногда восстановление после сбоя происходит существенно медленнее с большим объемом кэша
  • 16. Работа с большим Buffer pool Корректная остановка сервера занимает дольше времени Все модифицированные страницы Buffer Pool должны быть сохранены на диск Установите innodb_max_dirty_pages_pct=0 заранее чтобы почти все страницы были агрессивно сброшены.
  • 17. Репликация Репликация отстает куда быстрее чем мастер или слейв полностью загружены Все большая проблема с многоядерными проц-ами. А так же когда нет BBU кэша в RAID на слейве Часто ограничено скоростью транзакций установите innodb_flush_log_at_trx_commit=2 Репликация то все равно асинхронно Ограничена скоростью собственно обновлений Диск - префетчинг может помочь (кэш) Процессор – смотрите row level replication в 5.1 Оптимизация траффика репликации
  • 18. А теперь бенчмаки Относитесь к результатам критично
  • 19. Масштабируемость 5.0 MySQL 5.0.51a Dell PE 2950 2* Quad Core CPUs Intel Xeon L5335 Нет Дискового ввода вывода Масштабируемость сильно зависит от нагрузки Фактор масштабирования относительно числа потоков
  • 20. Масштабируемость 5.1 MySQL 5.1.23-rc Все то же самое кроме версии Видно большое падение производительности Вроде исправлено в 5.1.28 Фактор масштабируемости относительно числа потоков
  • 21. Пр-сть одного потока Сложно судить только по фактору масштабирования Показываем скорость относительно 5.0.22 5.0.22 и 5.0.51 очень близки 5.1 показывает некоторую потерю производительности Относительная производительнось разных версий
  • 22. М-ость разных версий Фактор масштабирования для 64 потоков MySQL 5.0.51 лучшие результаты Заметные улучшения относительно 5.0.22 5.1 медленнее (возможно исправлено) Фактор масштабирования разных версий MySQL
  • 23. innodb_thread_concurrency Производительность для 64 потоков MySQL 5.1.23 innodb_thread_concurrency=0 - база Нет лучшего значения для всех типов нагрузки Как innodb_thread_concurrency влияет не производительность
  • 24. Fixing scaling by CPU Affinity Performance for 16 threads MySQL 5.1.23 5.0.51a for comparison Workloads which scaled worse on 5.1.23 Trying to bind MySQL to specific CPU Cores Restricting can help scaling How binding to CPUs affects performance
  • 25. Quadcore vs Dual Core MySQL 5.1.23rc Нагрузки которые плохо масштабируются 2 из 3х типов нагрузки лучше ведут себя на 2*Dual Core сситеме Масштабируемость и число ядер
  • 26. Large Pages MySQL can use Large Pages for Innodb Buffer Pool Huge Pages reduce TLB cache misses Non Swapable Mediocre results for this workload, may be better in case of skewed working set Performance effect of using Large Pages
  • 27. Innodb – Масштабируемость IO Dell PowerEdge 2950, Perc6, CentOS 5.0 RAID1 иRAID10 (6 disk) SysBench тест Масштабируемость RAID
  • 28. EXT3 и EXT2 То же самое железо RAID10 Ext3 хуже на запись (оверхед на журналирование) но несколько лучше на чтение. Производительность Файловых систем
  • 29. Linux планировщики I/O Улучшились за последние годы Разница не такая большая как несколько лат назад CFQ (стандартный) дает лучшую производительность в этом случае Performance effect of using Large Pages
  • 30. Будущее Innodb Oracle продолжает вести работы В страшной секретности и не раскрывает планов Community берет развитие в свои руки Google (Mark Callaghan) выпустили патчи улучшающие производительность на ряде операций На некоторых других производительность падает Yasufumi – множество патчей улучшающих масштабируемость Percona - Патчи/релизы Улучшение производительности Анализ производительности
  • 31. Спасибо что пришли ! Время для вопросов Пишите [email_address] Приходите к нам За информацией: http://www.mysqlperformanceblog.com За помошью: http://www.percona.com