Mysql для высоконагруженных систем Метелкин Михаил Геннадьевич, Ведущий Web-разработчик mihail.metelkin@softline.ru
Содержание
- 2. Архитектура Mysql
- 3. Архитектура Mysql
- 4. Mysql Engines (характеристики) MyISAM Блокировка всей таблицы Автоматическая проверка и востановление таблиц Поддерживает FULL-text индексы Отложенная
- 5. Mysql Engines (характеристики) InnoDB Поддержка транзакций Использование механизма MVCC Поддержка внешних ключей
- 6. Mysql Engines (характеристики) Memory Engine(HEAP) Хранение данных в памяти Поддержка Hash индексов Поддержка только строк фиксированной
- 7. Mysql Engines (характеристики) Archive Engine Подержка только SELECT и INSERT запросов Не поддерживает индексов Поддержка блокировки
- 8. Нахождение "узких мест“ производительности системы Определение производительности Транзакций в единицу времени Время отклика Расширяемость Конкурентность Профилирование
- 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
- 10. Нахождение "узких мест“ производительности системы Профилирование Логирование запросов (general log, slow log ). Конфигурационные настройки :
- 11. Нахождение "узких мест“ производительности системы “Инструменты”для задач профилирования mysql_slow_log_parser (http://www.mysqlperformanceblog.com/files/utils/mysql_slow_log_parser ) mysqlsla (http://hackmysql.com/mysqlsla) SHOW STATUS mysql>
- 12. Нахождение "узких мест“ производительности системы “Инструменты”для задач профилирования SHOW PROFILE mysql> SET profiling = 1;
- 13. Оптимизация схемы и расстановка индексов Выбор оптимальных типов данных Наименьший из приемлимых типов данных Наиболее простой
- 14. Оптимизация запросов Выбирайте только необходимое количество строк Всегда прописывайте те поля которые необходимы дл выборки Особенно
- 15. Оптимизация запросов Декомпозиция JOIN’ ов Хранение результатов больших выборок в приложении Проверка использования индексов при запросе
- 16. Репликация Репликация – синхронное/асинхронное копирование данных с ведущих серверов на ведомые. Решаемые задачи: Распределение данных (географически).
- 17. Партицирование Партицирование – разбиение данных таблиц на логические части по выбранным критериям Методы: RANGE (По диапазону
- 18. Шардинг Шардинг – разделение данных на уровне ресурсов Способы: Вертикальный (Разделение таблиц по серверам) Горизонтальный (Разделение
- 20. Скачать презентацию