МОЯ НАСТРОЙКА ( пример )
Я использую Linux на инстансе Amazon High CPU Extra Large EC2 со следующими характеристиками:
У меня есть две большие базы данных MySQL, работающие на механизме хранения MyISAM. Один - 2 ГБ, а другой - 500 МБ. Я хотел бы убедиться, что MySQL использует столько оперативной памяти, сколько может / необходимо для максимизации скорости запросов. Я знаю, что есть несколько параметров конфигурации памяти MySQL, например key_buffer_size
и MyISAM_sort_buffer_size,
но я не знаком с их оптимизацией.
ВОПРОСЫ
Это сложная тема. Здесь нельзя ответить, целиком книги об этом писали. Я рекомендую сделать ваш innodb_buffer_pool_size достаточно большим. Если вы используете таблицы myisam, проверьте key_buffer_size. Также следует учитывать table_cache и max_connections.
Вот кое-что, что может вам помочь:
http://www.mysqlperformanceblog.com/2006/09/29/what-to-tune-in-mysql-server-after-installation/ http://www.mysqlperformanceblog.com/2007/11/01/innodb-performance-optimization-basics/ http://www.mysqlperformanceblog.com/2007/11/03/choosing-innodb_buffer_pool_size/
РЕДАКТИРОВАТЬ:
Как сказал @drew010, важно учитывать вид использования БД. Настройка для БД с тяжелым чтением сильно отличается от тяжелой записи. Также вы можете рассмотреть другие стратегии. Как Memcached, базы данных nosql и т. Д.
Если вам нужно быть уверенным, что MySQL использует всю необходимую память, вам нужно переключиться на InnoDB. Если вы не используете MySQL FULLTEXT
поисковые возможности, серьезных проблем не возникнет.
В случае MyISAM используется ряд кешей, включая внутренние ключевые буферы MySQL и системный кеш. Если вам нужна максимальная производительность, вам нужно оставить место для любого из кешей, но все же я не рекомендую MyISAM для этой цели, особенно если ваши базы данных интенсивно записываются: MyISAM блокирует всю таблицу при записи, тогда как InnoDB блокирует только затронутые строки.
Даже если вы поместите все свои базы данных в память, у вас все равно могут быть медленные запросы из-за недостаточного индекса или по другим причинам.