Моя коробка отключается. Я пытаюсь настроить MySQL для:
Текущая настройка:
Конфигурация такая: my-innodb-heavy-4G.cnf
. Конкретные модификации:
В остальном все по умолчанию. Какие рекомендации вы, ребята, дадите для другой установки MySQL?
Соображения следующие:
Мы уже используем самую мощную коробку, доступную AWS, так что на самом деле похоже, что распределенная система - это то, что нам нужно. Выделенное оборудование мощь возможно, но это очень далеко.
Что вы рекомендуете / думаете, как нам следует действовать? Мне не хватает какой-то волшебной конфигурации?
Спасибо заранее, Джастин
Раскрытие информации - я работаю в составе команды разработчиков MySQL Cluster.
Чтобы исправить положение выше, MySQL Cluster обычно используется в веб-приложениях для масштабирования операций записи - автоматическое сегментирование в сочетании с репликацией с несколькими мастерами дает очень высокую пропускную способность записи, то есть 2,5 млн операций записи в секунду на кластере из 8 стандартных серверов Intel: http://mysql.com/why-mysql/benchmarks/mysql-cluster/
С другой стороны, хранилище данных на самом деле не целевая рабочая нагрузка.
Рекомендую взглянуть на руководство по производительности MySQL (требуется регистр), в котором обсуждаются различные стратегии сегментирования: http://mysql.com/why-mysql/white-papers/mysql_wp_cluster_perfomance.php
MySQL Cluster очень редко применяется в настройке, доступной через Интернет. Этот продукт в основном доступен для хранилищ данных в выделенной кластерной среде.
Репликация MySQL (главный / подчиненный, двойной главный и т. Д.) Не поможет, если вы склонны писать. Чтобы репликация произошла, запись должна быть «перенаправлена / выполнена» во всех системах ... это легко снизит вашу глобальную производительность. Примечание: репликация может быть полезна, если у вас есть конкуренция за таблицу (блокировка всей таблицы), но если вы используете innodb, я был бы удивлен, что это происходит часто. Кроме того, стоимость работы ведомого устройства может быть снижена за счет экономии времени в сценарии кризиса / восстановления - но вопрос не в этом.
Вы можете изучить концепцию шардинга. В сочетании с MySQL-Proxy и тщательно разработанным сценарием LUA вы можете автоматически переписывать свои SQL-запросы для разделения записи в кластер системы MySQL (осторожно при сбое экземпляров AWS).
Хотя вы говорите, что это маловероятно, следует внимательно изучить специальный вариант оборудования. Большая часть среды IAAS (например, AWS / EC2) подготовлена к очень сильной предвзятости в сторону чтения операций ввода-вывода. На выделенном оборудовании вы можете использовать кэш SSD и / или многоуровневое хранилище. Вы также можете использовать выделенную сеть SAN, в которой производительность операций ввода-вывода зависит от ваших конкретных требований.