.%20%D0%A1%D1%82%D0%BE%D0%B8%D1%82%20%D0%BB%D0%B8%20%D0%BC%D0%BD%D0%B5%20%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%B8%D1%82%D1%8C%20%D0%B1%D0%BE%D0%BB%D1%8C%D1%88%D0%B5%20%D1%8F%D0%B4%D0%B5%D1%80%20%D0%A6%D0%9F%3F.png)
Мой текущий сервер имеет 12 ядер и 96 ГБ оперативной памяти. Но из-за моих запросов MYSQL до 100% сервера всегда используется, а оперативной памяти менее 5%. Я знаю, что основная проблема связана с запросами SQL. Из журналов выяснилось, что некоторые запросы суммируют значения во всех столбцах. Теперь из-за того, насколько огромно приложение, оптимизация запросов в краткосрочной перспективе невозможна.
В качестве краткосрочного решения, мне следует приобрести новый сервер с 32 ядрами? Или есть способ перенести часть вычислительной мощности в оперативную память сервера? Таким образом, более 90 ГБ оперативной памяти не будут просто пропадать.
решение1
Нет.
Я еще не видел сервера MySQL, у которого закончились бы ядра раньше, чем закончились бы другие ресурсы.
Часто проблема высокой загрузки ЦП решается путем добавления лучшего индекса (особенно составного индекса) и/или переформулирования какого-либо медленного запроса.
Найдите медленные запросы и давайте обсудим их. МедленныйЛог
"Низкое использование ОЗУ" обычно означает слишком низкое значение innodb_buffer_pool_size
. Эта настройка должна быть около 70% от ОЗУ. Однако низкая настройка обычно подразумевает высокий уровень ввода-вывода, а не высокий уровень ЦП. Пожалуйста, покажите нам SHOW CREATE TABLE
и SELECT...
для некоторых непослушных запросов.