запросов выборки, то есть снизить количество потребляемых ресурсов (конечно, в ущерб скорости). В принципе интересно и для вставки данных и для мержей.
Подскажите, есть ли какие-нибудь параметры, которые позволяют добиться этого?
max_threads=1 уже пробовали? вроде как самый простой и прямой вариант.
Нет, пока не пробовали. Пока ищется вариант, как сохранить возможность выполнять несколько запросов параллельно, не не сильно грузить ввод-вывод. При использовании max_threads=1 тяжелый join по нескольким таблицам может утилизировать все ресурсы дисковой подсистемы. Имеющиеся параметры max_execution_speed и max_execution_bytes ограничивают только отдельные запросы, что также не позволит ограничить суммарную нагрузку от всех запросов на сервер, если их будет много.
все не сможет - этот join что-то ведь ещё считать будет. Скорость КХ во многом достигается именно из этого распаралеливания - 8 тредов полностью загрузят любую дисковую систему. А один может и нет. Я бы начал с этого. (ну и с хорошего SSD, чтобы не искать проблем на ровном месте)
Спасибо за совет! Протестируем поведение при применении такого способа ограничения ресурсов, вдруг и правда будет достаточно. А диски уже и так ссд :)
я тут недавно тестировал что-то подобное на абстрактах из английской вики (6.5М строк). Поиск полным перебором фразы 'George Gershwin' - grep по файлу (без компрессии) - за 2с - КХ на 8 тредов - за 140мс - КХ на 1 тред - за 800мс
Показательно. Еще раз спасибо
Обсуждают сегодня