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

Как увеличить производительность MySQL, добавив в нее память?

У меня есть машина с 1 ГБ ОЗУ, и apache настроен на использование STARTSERVER OF 150 и MAXCLIENTS 150, используется только половина, поэтому у меня все еще есть примерно на 500 МБ свободной ОЗУ. Я хочу, чтобы MySQL использовал это, поскольку прямо сейчас запущенный тест AB показывает, что со статическим изображением я получаю 6000 запросов в секунду, а с моей CMS я получаю только 180 запросов в секунду, что является сценарием php с серверной частью MySQL. Мне нужно повысить производительность MySQL, не касаясь операторов SQL, просто сетевому администратору, а не программисту. Есть ли в MySQL такая возможность? 500 МБ свободной оперативной памяти, я хочу использовать это.

Если вы используете MyISAM, увеличьте

key_buffer_size=512M

Если вы используете InnoDB

innodb_buffer_pool_size=512M

Также обычно есть my.cnf пресеты в пакетах MySQL, называемые my-huge.cnf, my-large.cnf, my-medium.cnf и my-small.cnf вы можете искать их.

PS. Вам действительно стоит погуглить Настройка MySQL примеры для вашей системы хранения.

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

Конечно, поддержание индекса также связано с большими накладными расходами, не вносите никаких изменений, если не знаете, что делаете. И не ожидайте, что база данных будет использовать свои индексы, пока в данной таблице не будет несколько строк K.