🗊Mysql для высоконагруженных систем Метелкин Михаил Геннадьевич, Ведущий Web-разработчик mihail.metelkin@softline.ru

Категория: Технологии
Нажмите для полного просмотра!
Mysql для высоконагруженных систем   Метелкин Михаил Геннадьевич,  Ведущий Web-разработчик  mihail.metelkin@softline.ru, слайд №1Mysql для высоконагруженных систем   Метелкин Михаил Геннадьевич,  Ведущий Web-разработчик  mihail.metelkin@softline.ru, слайд №2Mysql для высоконагруженных систем   Метелкин Михаил Геннадьевич,  Ведущий Web-разработчик  mihail.metelkin@softline.ru, слайд №3Mysql для высоконагруженных систем   Метелкин Михаил Геннадьевич,  Ведущий Web-разработчик  mihail.metelkin@softline.ru, слайд №4Mysql для высоконагруженных систем   Метелкин Михаил Геннадьевич,  Ведущий Web-разработчик  mihail.metelkin@softline.ru, слайд №5Mysql для высоконагруженных систем   Метелкин Михаил Геннадьевич,  Ведущий Web-разработчик  mihail.metelkin@softline.ru, слайд №6Mysql для высоконагруженных систем   Метелкин Михаил Геннадьевич,  Ведущий Web-разработчик  mihail.metelkin@softline.ru, слайд №7Mysql для высоконагруженных систем   Метелкин Михаил Геннадьевич,  Ведущий Web-разработчик  mihail.metelkin@softline.ru, слайд №8Mysql для высоконагруженных систем   Метелкин Михаил Геннадьевич,  Ведущий Web-разработчик  mihail.metelkin@softline.ru, слайд №9Mysql для высоконагруженных систем   Метелкин Михаил Геннадьевич,  Ведущий Web-разработчик  mihail.metelkin@softline.ru, слайд №10Mysql для высоконагруженных систем   Метелкин Михаил Геннадьевич,  Ведущий Web-разработчик  mihail.metelkin@softline.ru, слайд №11Mysql для высоконагруженных систем   Метелкин Михаил Геннадьевич,  Ведущий Web-разработчик  mihail.metelkin@softline.ru, слайд №12Mysql для высоконагруженных систем   Метелкин Михаил Геннадьевич,  Ведущий Web-разработчик  mihail.metelkin@softline.ru, слайд №13Mysql для высоконагруженных систем   Метелкин Михаил Геннадьевич,  Ведущий Web-разработчик  mihail.metelkin@softline.ru, слайд №14Mysql для высоконагруженных систем   Метелкин Михаил Геннадьевич,  Ведущий Web-разработчик  mihail.metelkin@softline.ru, слайд №15Mysql для высоконагруженных систем   Метелкин Михаил Геннадьевич,  Ведущий Web-разработчик  mihail.metelkin@softline.ru, слайд №16Mysql для высоконагруженных систем   Метелкин Михаил Геннадьевич,  Ведущий Web-разработчик  mihail.metelkin@softline.ru, слайд №17Mysql для высоконагруженных систем   Метелкин Михаил Геннадьевич,  Ведущий Web-разработчик  mihail.metelkin@softline.ru, слайд №18Mysql для высоконагруженных систем   Метелкин Михаил Геннадьевич,  Ведущий Web-разработчик  mihail.metelkin@softline.ru, слайд №19

Вы можете ознакомиться и скачать Mysql для высоконагруженных систем Метелкин Михаил Геннадьевич, Ведущий Web-разработчик mihail.metelkin@softline.ru. Презентация содержит 19 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1






Mysql для высоконагруженных
систем

Метелкин Михаил Геннадьевич,
Ведущий Web-разработчик
mihail.metelkin@softline.ru
Описание слайда:
Mysql для высоконагруженных систем Метелкин Михаил Геннадьевич, Ведущий Web-разработчик mihail.metelkin@softline.ru

Слайд 2





Архитектура Mysql
Описание слайда:
Архитектура Mysql

Слайд 3





Архитектура Mysql
Описание слайда:
Архитектура Mysql

Слайд 4





Mysql Engines (характеристики)
 MyISAM
Блокировка всей таблицы
Автоматическая проверка и  востановление таблиц
Поддерживает FULL-text индексы
Отложенная запись данных индексов
Компрессия MyISAM таблиц
Описание слайда:
Mysql Engines (характеристики) MyISAM Блокировка всей таблицы Автоматическая проверка и востановление таблиц Поддерживает FULL-text индексы Отложенная запись данных индексов Компрессия MyISAM таблиц

Слайд 5





Mysql Engines (характеристики)
 InnoDB
Поддержка транзакций
Использование механизма MVCC  
Поддержка внешних ключей
Описание слайда:
Mysql Engines (характеристики) InnoDB Поддержка транзакций Использование механизма MVCC Поддержка внешних ключей

Слайд 6





Mysql Engines (характеристики)
 Memory Engine(HEAP)
Хранение данных в памяти
Поддержка Hash индексов
Поддержка только строк фиксированной длины (CHAR)
Описание слайда:
Mysql Engines (характеристики) Memory Engine(HEAP) Хранение данных в памяти Поддержка Hash индексов Поддержка только строк фиксированной длины (CHAR)

Слайд 7





Mysql Engines (характеристики)
 Archive Engine
Подержка только SELECT и INSERT запросов
Не поддерживает индексов
Поддержка блокировки на уровне строки
Описание слайда:
Mysql Engines (характеристики) Archive Engine Подержка только SELECT и INSERT запросов Не поддерживает индексов Поддержка блокировки на уровне строки

Слайд 8





Нахождение "узких мест“ производительности системы
Определение производительности
Транзакций в единицу времени
Время отклика
Расширяемость
Конкурентность
Профилирование
Полное время выполнения задачи
Время выполнения каждого запроса
Время открытия каждого соединения к mysql
Время вызова каждого внешнего ресурса (веб-сервисов и т.д.)
Вызов потенциально затратных функций
Системное  время CPU
Описание слайда:
Нахождение "узких мест“ производительности системы Определение производительности Транзакций в единицу времени Время отклика Расширяемость Конкурентность Профилирование Полное время выполнения задачи Время выполнения каждого запроса Время открытия каждого соединения к mysql Время вызова каждого внешнего ресурса (веб-сервисов и т.д.) Вызов потенциально затратных функций Системное время CPU

Слайд 9





Нахождение "узких мест“ производительности системы
“Инструменты” для определения производительности

аb (http://httpd.apache.org/docs/2.0/programs/ab.html)
http_load (http://www.acme.com/software/http_load/)
JMeter  (http://jakarta.apache.org/jmeter/)
mysqlslap (http://dev.mysql.com/doc/refman/5.1/en/mysqlslap.html)
Sysbench (http://sysbench.sourceforge.net/)
Database Test Suite (http://sourceforge.net/projects/osdldbt/)
MySQL Benchmark Suite (http://dev.mysql.com/doc/en/mysql-benchmarks.html/ )
Super Smack (http://vegan.net/tony/supersmack/)
Описание слайда:
Нахождение "узких мест“ производительности системы “Инструменты” для определения производительности аb (http://httpd.apache.org/docs/2.0/programs/ab.html) http_load (http://www.acme.com/software/http_load/) JMeter (http://jakarta.apache.org/jmeter/) mysqlslap (http://dev.mysql.com/doc/refman/5.1/en/mysqlslap.html) Sysbench (http://sysbench.sourceforge.net/) Database Test Suite (http://sourceforge.net/projects/osdldbt/) MySQL Benchmark Suite (http://dev.mysql.com/doc/en/mysql-benchmarks.html/ ) Super Smack (http://vegan.net/tony/supersmack/)

Слайд 10





Нахождение "узких мест“ производительности системы
Профилирование

Логирование запросов (general log, slow log ). 
Конфигурационные настройки :
		log = <file_name>
		log-slow-queries = <file_name>
		long_query_time = 2
		log-queries-not-using-indexes
		log-slow-admin-statements
		Приложения:
		mysqldumpslow
		mysql_slow_log_filter (http://www.mysqlperformanceblog.com/files/utils/mysql_slow_log_filter )
Описание слайда:
Нахождение "узких мест“ производительности системы Профилирование Логирование запросов (general log, slow log ). Конфигурационные настройки : log = <file_name> log-slow-queries = <file_name> long_query_time = 2 log-queries-not-using-indexes log-slow-admin-statements Приложения: mysqldumpslow mysql_slow_log_filter (http://www.mysqlperformanceblog.com/files/utils/mysql_slow_log_filter )

Слайд 11





Нахождение "узких мест“ производительности системы
“Инструменты”для задач профилирования
		mysql_slow_log_parser
(http://www.mysqlperformanceblog.com/files/utils/mysql_slow_log_parser )		mysqlsla (http://hackmysql.com/mysqlsla)

SHOW STATUS
		mysql> FLUSH STATUS;
		mysql> SHOW SESSION STATUS LIKE 'Select%';
Описание слайда:
Нахождение "узких мест“ производительности системы “Инструменты”для задач профилирования mysql_slow_log_parser (http://www.mysqlperformanceblog.com/files/utils/mysql_slow_log_parser ) mysqlsla (http://hackmysql.com/mysqlsla) SHOW STATUS mysql> FLUSH STATUS; mysql> SHOW SESSION STATUS LIKE 'Select%';

Слайд 12





Нахождение "узких мест“ производительности системы
“Инструменты”для задач профилирования
SHOW PROFILE

mysql> SET profiling = 1;
Описание слайда:
Нахождение "узких мест“ производительности системы “Инструменты”для задач профилирования SHOW PROFILE mysql> SET profiling = 1;

Слайд 13





Оптимизация схемы и расстановка индексов
Выбор оптимальных типов данных
Наименьший из приемлимых типов данных
Наиболее простой из возможных
Избегайте Null по умолчанию

Расстановка индексов
Изоляция колонок в запросах
Наименьшая возможная длина индексов
Только необходимые индексы
Описание слайда:
Оптимизация схемы и расстановка индексов Выбор оптимальных типов данных Наименьший из приемлимых типов данных Наиболее простой из возможных Избегайте Null по умолчанию Расстановка индексов Изоляция колонок в запросах Наименьшая возможная длина индексов Только необходимые индексы

Слайд 14





Оптимизация запросов
Выбирайте только необходимое количество строк
Всегда прописывайте те поля которые необходимы дл выборки
Особенно в запросах использующих JOIN
Правило “идеального запроса”- количество проверенных сервером строк ≈ количеству возвращенных строк
Полное сканирование таблиц – высшее зло!
Разбивайте очень сложные запросы на несколько составных
Производите операции с большими объемами данных частями
Описание слайда:
Оптимизация запросов Выбирайте только необходимое количество строк Всегда прописывайте те поля которые необходимы дл выборки Особенно в запросах использующих JOIN Правило “идеального запроса”- количество проверенных сервером строк ≈ количеству возвращенных строк Полное сканирование таблиц – высшее зло! Разбивайте очень сложные запросы на несколько составных Производите операции с большими объемами данных частями

Слайд 15





Оптимизация запросов
Декомпозиция JOIN’ ов
Хранение результатов больших выборок в приложении
Проверка использования индексов при запросе
Использование Explain
Описание слайда:
Оптимизация запросов Декомпозиция JOIN’ ов Хранение результатов больших выборок в приложении Проверка использования индексов при запросе Использование Explain

Слайд 16





Репликация

Репликация – синхронное/асинхронное копирование данных с ведущих серверов на ведомые.

Решаемые задачи:
Распределение данных (географически).
Распределение нагрузки (Load balancing).
Backups
Отказоустойчивость
Тестирование апдейтов и новых версий Mysql.
Описание слайда:
Репликация Репликация – синхронное/асинхронное копирование данных с ведущих серверов на ведомые. Решаемые задачи: Распределение данных (географически). Распределение нагрузки (Load balancing). Backups Отказоустойчивость Тестирование апдейтов и новых версий Mysql.

Слайд 17





Партицирование
Партицирование – разбиение данных таблиц на логические части по выбранным критериям

Методы:
RANGE (По диапазону значений)
LIST (По точному списку значений)
HASH
KEY
Описание слайда:
Партицирование Партицирование – разбиение данных таблиц на логические части по выбранным критериям Методы: RANGE (По диапазону значений) LIST (По точному списку значений) HASH KEY

Слайд 18





Шардинг
Шардинг – разделение данных на уровне ресурсов

Способы:
Вертикальный (Разделение таблиц по серверам)
Горизонтальный (Разделение  логических частей данных по серверам)
Описание слайда:
Шардинг Шардинг – разделение данных на уровне ресурсов Способы: Вертикальный (Разделение таблиц по серверам) Горизонтальный (Разделение логических частей данных по серверам)

Слайд 19





Вопросы






Вопросы?
Описание слайда:
Вопросы Вопросы?



Похожие презентации
Mypresentation.ru
Загрузить презентацию