Spec-Zone .ru
спецификации, руководства, описания, API
|
Различные настройки работают лучше всего на серверы с легкими, предсказуемыми загрузками против серверов, которые выполняют близкую полную мощность все время, или тот опыт шипы высокого действия.
Поскольку InnoDB
механизм хранения выполняет многую из своей оптимизации
автоматически, много настраивающих производительность задач включают контроль, чтобы гарантировать, что база
данных выполняет хорошо, и изменяет параметры конфигурации, когда производительность отбрасывает. См. Раздел 14.2.4.2.26, "Интеграция
с MySQL Performance Schema" для информации о подробном InnoDB
контроль
производительности.
Для получения информации о самом важном и новом InnoDB
технические характеристики,
см. Раздел 14.2.4.2,"InnoDB
Производительность и Улучшения Масштабируемости". Даже если Вы
использовали InnoDB
таблицы в предыдущих версиях, эти функции могли бы быть в
новинку для Вас, потому что они от "Плагина InnoDB". Плагин сосуществовал рядом со встроенным InnoDB
в MySQL 5.1, и становится механизмом хранения значения по умолчанию в
MySQL 5.5 и выше.
Основные шаги конфигурации, которые можно выполнить, включают:
Включение InnoDB
использовать высокоэффективные
средства выделения памяти на системах, которые включают их. См. Раздел
14.2.4.2.12, "Используя Средства выделения Памяти Операционной системы".
Управление то, типами операций DML, для который InnoDB
буферизует измененные данные, чтобы избежать частых маленьких записей на диск. См. Раздел
14.2.4.2.13, "Управляя Буферизацией Изменения InnoDB". Поскольку значение по умолчанию
должно буферизовать все типы операций DML, только изменить эти настройки, если Вы должны уменьшить объем
буферизации.
Включение и выключение адаптивной функции индексации хеша. См. Раздел 14.2.4.2.14, "Управляя Адаптивной Индексацией Хеша". Вы могли бы изменить эти настройки в течение периодов необычного действия, затем восстановить это к его исходной установке.
Устанавливание предела для числа параллельных потоков это InnoDB
процессы, если контекстное переключение является узким местом. См. Раздел
14.2.4.2.15, "Изменения Относительно Параллелизма Потока".
Управление количеством упреждающей выборки этого InnoDB
делает с его операциями чтения вперед. Когда у системы есть
неиспользованная емкость ввода-вывода, более чтение вперед может улучшить производительность запросов.
Слишком много чтение вперед может вызвать периодические падения производительности на в большой степени
загруженной системе. См. Раздел 14.2.4.2.16,
"Изменения в Алгоритме Чтения вперед".
Увеличивание числа фоновых потоков для операций чтения или операций записи, если у Вас есть высокопроизводительная подсистема ввода-вывода, которая не полностью используется значениями по умолчанию. См. Раздел 14.2.4.2.17, "Многократный Фон Потоки ввода-вывода InnoDB".
Управление, сколько ввода-вывода InnoDB
выполняет в
фоновом режиме. См. Раздел
14.2.4.2.20, "Управляя Ведущим Уровнем ввода-вывода Потока InnoDB". Количество
фонового ввода-вывода выше чем в MySQL 5.1, таким образом, Вы могли бы вычислить эту установку, если Вы
наблюдаете периодические падения производительности.
Управление алгоритмом, который определяет когда InnoDB
выполняет определенные типы фоновых записей. См. Раздел
14.2.4.2.21, "Управляя Уровнем Сбрасывания Грязных страниц от Пула буферов InnoDB".
Работы алгоритма для некоторых типов рабочих нагрузок, но не других, так мог бы выключить эту установку,
если Вы наблюдаете периодические падения производительности.
Использование в своих интересах многоядерных процессоров и их конфигурации кэш-памяти, чтобы минимизировать задержки контекстного переключения. См. Раздел 14.2.4.2.23, "Управление Опроса Спин-блокировки".
Предотвращение одноразовых операций, таких как сканирования таблицы от
вмешательства с данными, к которым часто получают доступ, хранившими в InnoDB
буферный кэш. См. Раздел
14.2.4.2.24, "Делая Сканирование Пула буферов, Стойкое".
Корректировка Ваших файлов журнала к размеру, который имеет смысл для
восстановления надежности и катастрофического отказа. См. Раздел
14.2.4.2.25, "Улучшения, чтобы Разрушить Производительность Восстановления".
Исторически, люди сохранили их InnoDB
файлы журнала, небольшие, чтобы
избежать долгих времен запуска после катастрофического отказа. Внутренние улучшения InnoDB
сделайте запуск намного быстрее, таким образом, размер файла
журнала не является таким показателем производительности больше. Если Ваши файлы журнала являются
искусственно небольшими, увеличивая размер может помочь производительности, уменьшая ввод-вывод, который
происходит, поскольку записи журнала отката перерабатываются.
Конфигурирование размера и числа экземпляров для InnoDB
пул буферов, особенно важный для систем с пулами буферов
мультигигабайта. См. Раздел
14.2.4.2.27, "Улучшения Производительности от Многократных Пулов буферов".
Увеличение максимального количества параллельных транзакций, которое существенно улучшает масштабируемость для самых занятых баз данных. См. Раздел 14.2.4.2.28, "Лучшая Масштабируемость с Многократными Сегментами Отката". Хотя эта функция не требует никакого действия во время повседневной эксплуатации, следует выполнить медленное завершение работы во время или после обновления базы данных к MySQL 5.5, чтобы включить более высокому пределу.
Перемещение операций чистки (тип сборки "мусора") в фоновый поток. См. Раздел 14.2.4.2.29, "Лучшая Масштабируемость с Улучшенным Планированием Чистки". Чтобы эффективно измерить результаты этой установки, настройте другой I/O-related и связанные с потоком параметры конфигурации сначала.
Сокращение количества переключения этого InnoDB
делает
между параллельными потоками, так, чтобы операции SQL на занятом сервере не стояли в очереди и
сформировали "пробку". Установите
значение для innodb_thread_concurrency
опция, до приблизительно 32 для мощной
современной системы. Увеличьте значение для innodb_concurrency_tickets
опция, обычно приблизительно к 5000, Эта
комбинация опций устанавливает прописную букву на числе потоков это InnoDB
процессы в любой момент, и позволяют каждому потоку делать существенную работу прежде, чем быть
выгруженным, так, чтобы число потоков ожидания осталось низким, и операции могут завершиться без
чрезмерного контекстного переключения.