Вопрос

вступлениеЯ получил этот вопрос из своего предыдущего вопроса Одиночный диск против нескольких дисков

Получив очень подробный ответ от очень полезного участника Rolandomysqldba и изучение того факта, что в некоторых случаях многолетные диски могут очень помочь. Я начал изучать несколько дисков для моей настройки, которая всего лишь один по сравнению с тем, что я нашел.

Больше информацииЯ нашел довольно огромные истории, как

http://www.newegg.com/product/product.aspx?item=n82e16811152212

В то время как некоторые видео показывают даже GBS скорости записи такого рода оборудования

Реальный вопросПри условии, что существует достаточно оперативной памяти, чтобы удерживать индексы, может ли MySQL или другие RDBM с открытым исходным кодом (не экмс -бы по оценке предприятий, такие как Oracle, потому что его работа на SAN довольно распространено) может легко работать на этих зверях?

Потому что они содержат истинные многочисленные диски, настройка и десятки голов доступны.

Я уверен, что это было бы не так просто, потому что если бы это было так просто, то почему большинство настройки предприятия используют товарные серверы. Итак, какие проблемы сталкиваются с использованием этих крайних решений для хранения?

Это было полезно?

Решение

Все, что нужно сделать, это запустить эти запросы:

Myisam

SELECT CONCAT(ROUND(KBS/POWER(1024,
IF(PowerOf1024<0,0,IF(PowerOf1024>3,0,PowerOf1024)))+0.4999),
SUBSTR(' KMG',IF(PowerOf1024<0,0,
IF(PowerOf1024>3,0,PowerOf1024))+1,1))
recommended_key_buffer_size FROM
(SELECT LEAST(POWER(2,32),KBS1) KBS
FROM (SELECT SUM(index_length) KBS1
FROM information_schema.tables
WHERE engine='MyISAM' AND
table_schema NOT IN ('information_schema','mysql')) AA ) A,
(SELECT 2 PowerOf1024) B;

Innodb

SELECT CONCAT(ROUND(KBS/POWER(1024,
IF(PowerOf1024<0,0,IF(PowerOf1024>3,0,PowerOf1024)))+0.49999),
SUBSTR(' KMG',IF(PowerOf1024<0,0,
IF(PowerOf1024>3,0,PowerOf1024))+1,1)) recommended_innodb_buffer_pool_size
FROM (SELECT SUM(data_length+index_length) KBS FROM information_schema.tables
WHERE engine='InnoDB') A,
(SELECT 2 PowerOf1024) B;

Они будут рекомендовать правильные размеры для кэша ключа Myisam для существующего Myisam и пула буферов InnoDB для данных и индексов InnoDB.

В то время как запуск этих запросов SQL рекомендуется размеры буфера, человеческий фактор все еще должен учиться. Мы должны планировать использование данных на основе аппаратного обеспечения и часто доступ к данным. Мы также должны спросить: из количества рекомендованного буфера, сколько моего рабочего набора действительно будет проживаться в памяти?

Если вы настраиваете MySQL, чтобы использовать 75% оперативной памяти для InnoDB, даже на выделенном сервере MySQL, ОС получит занятую подвижку на диск. Тот факт, что MySQL может использовать огромные числа для размеров буферов, не означает, что это нормально, чтобы раздвинуть границы. Два имеют два основных двигателя хранения для рассмотрения.

Использование товарного оборудования просто демонстрирует конфигурируемость MySQL с заметными результатами. Если вы не используете 32-битный RHEL (Если вы, пожалуйста, перестаньте использовать его прямо сейчас, принесите много кофе, сделайте обновление), повышение размеров буферов в зверях с хранениями может быть благополучено.

Например, у моего работодателя есть клиент с 3 серверами DB, посвященными только MySQL. Каждый имеет 192 ГБ ОЗУ, из которого 162 ГБ является буферным пулом InnoDB. Рабочий набор на самом деле 170 ГБ. В то время как происходит небольшое обмен и подключение, производительность БД поразительно. ОС имеет около 30 ГБ оперативной памяти для себя (16 ГБ ОЗУ диска для временных таблиц). Я уверен, что эти серверы просто маленькие ящерицы по сравнению с DB-серверами размером с Комодо. MySQL может соответствовать задаче, если он настроен правильно.

Имейте в виду, что Innodb устанавливает свои собственные чеки и балансы, потому что текущий исходный код ограничивает файлы журнала InnoDB до 4 ГБ. Это так, потому что INNODB был изначально разработан с учетом товарного оборудования. В свете этого пропускной способности кислотной транзакции может быть узким местом, независимо от установки аппаратного обеспечения зверя и версии MySQL, которую вы решите запустить.

ВЫВОД

Это нормально, чтобы раздвинуть пределы на больших мускулистых серверах БД. Вы всегда должны делать это с учетом ОС с точки зрения памяти, пространства обмена, рабочего набора данных и количества ожидаемых транзакций.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с dba.stackexchange
scroll top