@MosVasil

Mysql грузит процессор на 100%, как нормализовать работу?

Процессор перманентно загружен на 100% процессом mysql

top
top - 13:24:21 up 4:42, 4 users, load average: 1.83, 2.17, 1.47
Tasks: 131 total, 1 running, 130 sleeping, 0 stopped, 0 zombie
%Cpu(s): 53.6 us, 0.3 sy, 0.0 ni, 45.7 id, 0.2 wa, 0.0 hi, 0.2 si, 0.0 st
KiB Mem : 8010676 total, 4730600 free, 1348236 used, 1931840 buff/cache
KiB Swap: 8191996 total, 8191996 free, 0 used. 6315452 avail Mem

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
989 mysql 20 0 1102844 125068 9580 S 100.0 1.6 177:50.28 mysqld
1300 elastic+ 20 0 3654932 903128 15380 S 7.7 11.3 29:20.12 java
2574 root 20 0 547868 16740 9468 S 0.3 0.2 0:07.21 core
9913 root 20 0 0 0 0 S 0.3 0.0 0:00.11 kworker/0:3
1 root 20 0 43232 3672 2440 S 0.0 0.0 0:04.38 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd

MariaDB [(none)]> show processlist;
+-----+---------+-----------------+---------+---------+------+----------------------+------------------------------------------------------------------------------------------------------+----------+
| Id | User | Host | db | Command | Time | State | Info | Progress |
+-----+---------+-----------------+---------+---------+------+----------------------+------------------------------------------------------------------------------------------------------+----------+
| 156 | elastic | localhost:47852 | elastic | Query | 1313 | Copying to tmp table | SELECT `orgs_list`.*, COUNT(orgs2.last_id) AS countcompanys, COUNT(orgs3.last_id) AS countmanages FR | 0.000 |
| 181 | root | localhost | NULL | Query | 0 | NULL | show processlist | 0.000 |
+-----+---------+-----------------+---------+---------+------+----------------------+------------------------------------------------------------------------------------------------------+----------+
2 rows in set (0.00 sec)

в таблице orgs_list 107957 записей
Что можно сделать чтобы нормализовать работу сервера?
  • Вопрос задан
  • 1874 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Fortop
Tech/Team lead
Настроить корректно ваши запросы к БД.
  • Проверить их через explain
  • Добавить индексы где требуется
  • Вынести агрегаты типа COUNT, SUM в key-value хранилища типа redis/memcache и читать их значения оттуда.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы