Мой текущий сервер имеет 12 ядер и 96 ГБ оперативной памяти. Но из-за моих запросов MYSQL до 100% сервера всегда используется, а оперативной памяти менее 5%. Я знаю, что основная проблема связана с запросами SQL. Из журналов выяснилось, что некоторые запросы суммируют значения во всех столбцах. Теперь из-за того, насколько огромно приложение, оптимизация запросов в краткосрочной перспективе невозможна.
В качестве краткосрочного решения, мне следует приобрести новый сервер с 32 ядрами? Или есть способ перенести часть вычислительной мощности в оперативную память сервера? Таким образом, более 90 ГБ оперативной памяти не будут просто пропадать.
решение1
Нет.
Я еще не видел сервера MySQL, у которого закончились бы ядра раньше, чем закончились бы другие ресурсы.
Часто проблема высокой загрузки ЦП решается путем добавления лучшего индекса (особенно составного индекса) и/или переформулирования какого-либо медленного запроса.
Найдите медленные запросы и давайте обсудим их. МедленныйЛог
"Низкое использование ОЗУ" обычно означает слишком низкое значение innodb_buffer_pool_size
. Эта настройка должна быть около 70% от ОЗУ. Однако низкая настройка обычно подразумевает высокий уровень ввода-вывода, а не высокий уровень ЦП. Пожалуйста, покажите нам SHOW CREATE TABLE
и SELECT...
для некоторых непослушных запросов.