Добро пожаловать на форум, Гость!
Войдите или зарегистрируйтесь!
Имя пользователя:   Пароль:  
Запомнить меня 




Начать новую тему Ответить на тему   [ 1 сообщение ] 
Автор Сообщение
 Заголовок сообщения: Параметры настройки MySQL Server
СообщениеДобавлено: 07 дек 2010, 17:56 
Бородатый сис
Аватар пользователя
Статус: Не в сети

GeoIP: Kyrgyzstan

Сообщений: 2902
Откуда: Из серверной
Зарегистрирован: 03 мар 2010, 15:12
Благодарил (а): 19 раз.
Поблагодарили: 122 раз.
ОС: RHEL 6.7
Сервер MySQL имеет огромное количество переменных, которые могут быть настроены для ожидаемого поведения или в целях повышения производительности. Несмотря на то, что все они документированы, существует некоторая путаница с тем, какие переменные применяются только к конкретному движку базы данных, а какие ко всем.

Углубимся немного в историю. Первоначально в MySQL было не так много движков - MyISAM для таблиц на жестком диске и HEAP для таблиц в памяти. Так, что в первых версиях MySQL перед именами переменных не стоял префикс движка. Вот почему у нас есть key_buffer, а не myisam_key_buffer, например.

Еще одна важная деталь - следует учитывать какой движок вы используете. Например если у вас используются только Innodb таблицы, то это не значит что настройки MyISAM неважны. Некоторые таблицы в базе “mysql” хранятся в формате MyISAM, плюс временные HEAP/MEMORY таблицы при превышении определенного размера могут быть преобразованы в MyISAM. Таким образом, даже если вы не хотите выделять много ресурсов под MyISAM таблицы потому, что не используете их, следует оставить немного.

Список настроек, чаще всего вызывающих затруднения:

bulk_insert_buffer_size -Используется только таблицами MyISAM для оптимизации пакетных вставок.

concurrent_insert - Включает паралельную вставку (пока выполняется выборка) для MyISAM. В Innodb эта функция включена всегда, а HEAP/MEMORY таблицы её не имеют вовсе. Кстатии, в версии 5.0 добавилось новое значение “2″ которое позволяет работать паралельной вставке если таблица содержит “дыры” (удаленые строки).

delay_key_write - Задерживает обновление индексов для MyISAM таблиц. Увеличивает производительность, но в случае сбоя таблицы могут быть повреждены.

delayed_insert_limit, delayed_queue_size, delayed_insert_timeout - Настройки отложенной вставки. Innodb таблицы их не поддерживают.

expire_logs_days - Устанавливает время удаления бинарных логов с мастер сервера. Не влияет на лог транзакций и общий лог.

flush, flush_time - Закрывает таблицы (но не удостоверяется, что информация записана на диск) после запроса или по прошествии каждых flush_time секунд. Влияет на любые таблицы, но изначально предназначена для таблиц MyISAM. Нет особого смысла использовать с Innodb таблицами.

ft_query_expansion_limit, ft_max_word_len, ft_boolean_syntax, ft_min_word_len, ft_stopword_file - Переменные влияющие на полнотекстовый поиск. А так как пока он работает только с MyISAM, то и относится только к MyISAM таблицам.

join_buffer_size - Буфер используемый для джоинов и в некоторых других случаях. Применяется ко всем движкам.

key_buffer_size - Буффер ключей используется для буфферизации индексных блоков. Применяется только для MyISAM. Если вы не используете MyISAM таблицы оставляйте его значение в районе 4-32Мб для временных таблиц.

low_priority_updates - При включении выборка будет иметь больший приоритет, чем вставка/обновление. Таким образом ожидающая операция вставки не будет блокировать SELECT запросы до своего окончания. Работает для всех движков которые позволяют блокировать таблицы, тоесть с MyISAM и MEMORY.

preload_buffer_size - Буффер используемый для предварительной загрузки ключей, работает только с MyISAM таблицами.

read_buffer_size, read_rnd_buffer_size - Указывают размер буффера для чтения при полно-табличном сканировании (read_buffer) и для чтения строк в отсортированном порядке (read_rnd_buffer_size).

sort_buffer_size - Размер буффера для сортировки результатов запроса (выделяется каждым потоком при необходимости сортировки). Работает для любых таблиц.

timed_mutexes - Показывает статистику мутексов в SHOW MUTEX STATUS. На данный момент реализовано только в Innodb.

tmp_table_size - Указывает максимальный размер для временных таблиц (создающихся автоматически во время запроса) после которого они будут преобразованы из MEMORY в MyISAM таблицы. Не влияет на максимальный размер временных таблиц.


Я не злопамятный, я просто часто ковыряю логи
Изображение


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ 1 сообщение ] 
   Похожие темы   Автор   Ответов   Просмотров   Последнее сообщение 
Перенесенная ^_^

в форуме Linux

root

3

38

02 мар 2010, 16:15

Gen1us2k Перейти к последнему сообщению

Нет новых непрочитанных сообщений в этой теме Доступен клиент мгновенного обмена сообщениями Tkabber 1.0

в форуме Новости *nix

[Ботя]

0

449

25 янв 2014, 00:00

Гость Перейти к последнему сообщению

Нет новых непрочитанных сообщений в этой теме Выпуск проприетарного дистрибутива Альт Образование 8.1

в форуме Новости *nix

[Ботя]

0

223

09 ноя 2016, 21:30

Гость Перейти к последнему сообщению



Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Собрано Raven. Русская поддержка phpBB
phpBB SEO