Начало » БЛОГ » Оптимизация сайтов » Оптимизация MySQL с большими таблицами и сложными JOIN-запросами

Оптимизация MySQL с большими таблицами и сложными JOIN-запросами

+7 (495) 722-44-90

24.09.2012

Достаточно часто, при выборке из нескольких таблиц с большим объемом данных вкупе с использованием операторов объединения JOIN или UNION, возникает серьезная нагрузка на дисковую систему, связанная с тем, что данные большого объема записываются на диск во временную директорию.

Особенно сильно это может проявляться на загруженных виртуальных выделенных серверах (VDS). Если у Вас на сервере наблюдается такая проблема, а также имеется достаточный запас свободной оперативной памяти, проблему можно решить, вынесением директории для временных файлов MySQL в ОЗУ.

Пример решения будет рассмотрен для ОС Debian 5, но может быть с легкостью перенесен на любой другой дистрибутив Linux.

Шаг 1. Создайте директорию, в которую будет монтироваться раздел в оперативной памяти.

#mkdir /mysql_tmp
#chown mysql /mysql_tmp
#chmod 755 /mysql_tmp

Шаг 2. Создайте раздел в оперативной памяти и примонтируйте его в директорию /mysql_tmp.
В файл /etc/fstab добавьте строку:

none /mysql_tmp tmpfs noexec,nosuid,size=512M 0 0

После чего выполните команду:

#mount /mysql_tmp

Шаг 3. Пропишите новую директорию для временных файлов в конфигурации MySQL и перезапустите сервер баз данных.
В файле /etc/mysql/my.cnf найдите строку

tmpdir = /tmp

и замените ее на строку

tmpdir = /mysql_tmp

После чего выполните команду:

#/etc/init.d/mysql restart

Все, на этом настройка закончена. Теперь MySQL будет писать временные файлы в оперативную память, что должно существенно снизить нагрузку на дисковую систему.

Источник:  http://blog.io-hosts.ru/2011/01/mysql/



MySQL, ОПТИМИЗАЦИЯ САЙТОВ, ОПТИМИЗАЦИЯ

Контакты

Адрес:
Москва, улица Лётчика Бабушкина дом 32 корп.2
Индекс:
129281
Телефон:
+7 (499) 348-87-63

Seomost.ru - оптимизация и продвижение сайтов Лётчика Бабушкина улица, д.32 корп.2 129281 Москва +7 495 722-44-90 Seomost.ru - оптимизация и продвижение сайтов Лётчика Бабушкина улица, д.32 корп.2 129281 Москва +7 495 722-44-90 с понедельника по пятницу, с 10:00 до 17:00