Назад | Перейти на главную страницу

MySQL, дисковый ввод-вывод и SSD-накопители

У нас есть коробка LAMP с двумя зеркальными дисками WD Black Caviar емкостью 1 ТБ, на которых работает вся ОС и MySQL. 8 ГБ / ОЗУ, 2 четырехъядерных процессора.

Мы действительно обременены дисковым вводом-выводом, и я подумал о том, чтобы предложить туда пару SSD-дисков для /var/lib/mysql, и покончить с этим. Я провел небольшое исследование, и мне нравится цена Intel X25-M 160 ГБ, но я читал противоречивые варианты SSD в производстве.

У нас ~ 70 ГБ, в основном это таблицы MyISAM (> 95%). В основном мы выполняем чтение во время производства (с 20 до 17 часов), в основном пишем в ночное время (с 12 до 8 часов).

Здесь и раньше публиковались полезные сообщения о SSD в производстве, но я думаю, что лучшие из них немного устарели (лучший был в 2008 году). Есть ли более свежие отзывы о том, действительно ли твердотельные накопители подходят для среднего бизнеса? Если нет, как я могу немного лучше масштабировать наш сервер базы данных?

Стивен, сначала тебе нужно копнуть глубже.

  • Поместится ли все «горячее» (часто используемое) подмножество базы данных в ОЗУ, если вы просто обновите ОЗУ до чего-то большего, например, 32 или 64 ГБ?
  • Вы проверили, что ваша база данных имеет правильные индексы, выполнили ли вы базовый аудит производительности MySQL?

О потребительском снаряжении: Использование потребительского оборудования, такого как диски WD, в серверах - это очень обсуждаемая тема. Лично я считаю, что это вообще неправильный выбор. Но, конечно, не используйте твердотельные накопители потребительского уровня, такие как Intel X-25M (M означает массовый). Твердотельные накопители корпоративного уровня радикально отличаются от потребительских твердотельных накопителей (лучшее выравнивание износа, больше свободного места).

Типовая установка: Типичная дисковая установка для такого сервера, как ваш, может состоять из 4-х корпоративных дисков SAS в RAID10 с использованием подходящего RAID-контроллера, с кешем RAM контроллера, буферизирующим все записи, и резервным аккумулятором для кеша. Такое снаряжение не совсем дешевое, но это проверенный выбор.

У твердотельных накопителей есть преимущества, и они могут быть значительно быстрее пары обычных дисков в RAID 10 (особенно при тяжелых случайных чтениях, если горячий набор данных не помещается в ОЗУ). Команда Percona ведет блог о SSD и реальная производительность с MySQL здесь.

У кого-нибудь есть свежие отзывы о том, действительно ли твердотельные накопители подходят для среднего бизнеса?

Они есть, но IMHO только SSD корпоративного уровня и, желательно, серия SSD, которые были в производстве в течение некоторого времени для исправления ошибок. Хорошим выбором сейчас является серия Intel X25-E (Extreme), а через 4-6 месяцев (когда они станут более зрелыми) Накопители Sandforce серии 25xx с корпоративным набором функций.

Если нет, как я могу немного лучше масштабировать наш сервер db?

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

Я уже почти год использую рейдовые массивы этих дисков, Intel G2 на 160 ГБ. Это кластер из 12 серверов, выполняющих около 3500 запросов в секунду прямо сейчас, но это с большой свободной емкостью, у меня было 6 серверов, и все было в порядке. Если вы проведете исследование и проведете математику, это в основном сводится к тому, что «не используйте их в течение пяти лет или дольше», которые я округлил в меньшую сторону и планирую заменить их в следующем году. Учитывая безумное количество оборудования и сэкономленное время разработчика, я мог бы заменять их каждый квартал, и это того стоило.

Рассмотрите возможность обновления до Percona MySQL, который специально настроен для возможностей ввода-вывода SSD. Простое переключение на SSD-диски даст некоторые улучшения, но MySQL не в полной мере использует возможности SSD. http://www.percona.com/software/percona-server/for-ssd/

См. Статистику их тестов на http://www.percona.com/docs/wiki/benchmark:ssd:start

Для чего-то серьезного вам следует выбрать твердотельные накопители корпоративного уровня, такие как FusionIO и оборудование, которое продает STEC. У них есть данные о том, когда запускать обслуживание (TRIM и т. Д.), И они оказывают поддержку в случае, если что-то пойдет не так. Я даже видел, как HBA выдергивали SSD-накопители STEC. Я предполагаю, что настоящая проблема здесь в том, что большинство производителей выставляют SSD не как флэш-память, а как блочное устройство, а прошивки контроллеров действительно не знают, как обращаться с дисками и их интерфейсом прошивки дисков. Только опыт покажет. Обычные вещи о резервном копировании и RAID также применимы к SSD.

Но поскольку вы используете MyISAM в качестве серверной части хранилища, надежность и согласованность могут не быть вашей главной заботой, поэтому просто купите их и посмотрите, что произойдет.