Почему у MySQL высокая загрузка ЦП, когда я копирую десять баз данных в одну? - PullRequest
0 голосов
/ 08 февраля 2019

У меня есть сервер MySQL версии 5.5.49, использующий таблицы MyISAM.У меня есть 10 баз данных с примерно 170 000 таблиц во всех из них вместе взятых.Сервер Windows 2012 R2 имеет 46,9 ГБ ОЗУ и 48 ядер.При такой настройке MySQL использует примерно 5% -10% ЦП, при этом около 300 пользователей работают над приложением.Мне нужно создать единую базу данных для обновления приложения со всеми этими таблицами.Когда я создаю единую базу данных и копирую все таблицы в одну папку базы данных, MySQL начинает привязку всех ядер чуть более чем с 175 пользователями, и приложение отправляется на сканирование.Любые предложения?

Пользователь MySQL, который использует приложение, был создан давно с такими правами:

grant all privileges on *.* to 'appUser'@'%' identified by 'somepassword' with grant option

Когда я запускаю 'show full processlist', я получаю тонну строк, таких какследующие (с разными хостами и временем).Я не получаю эти результаты с 10 базами данных с одинаковым кодом, плюс все это внутренние запросы MySQL.Я не вижу ни одного из моих реальных запросов:

Id  User    Host    db  Command Time    State   Info
101 appUser 10.1.1.20:58414 dbnew   Query   45  checking  permissions   
SELECT TABLE_NAME, TABLE_COMMENT, TABLE_TYPE FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = DATABASE()AND ( TABLE_TYPE='BASE TABLE' OR TABLE_TYPE='VIEW' ) AND TABLE_NAME LIKE 'randomTableName'
108 appUser 10.1.1.21:49393 dbnew   Query   41  checking permissions    
SELECT TABLE_NAME, TABLE_COMMENT, TABLE_TYPE FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = DATABASE()AND ( TABLE_TYPE='BASE TABLE' OR TABLE_TYPE='VIEW' ) AND TABLE_NAME LIKE 'randomTableName'

.
.
.
511 appUser 127.0.0.1:53015 NULL    Query   0   NULL    show full processlist

И, наконец, вот my.ini:

[mysqld]

default-storage-engine=MYISAM
skip-name-resolve
wait_timeout=259200

port=3306

sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

# CACHES AND LIMITS #
max-connections                = 2000
max-allowed-packet             = 3M

tmp-table-size                 = 64M
max-heap-table-size            = 64M

#query-cache-type              = 0
query-cache-size               = 0M

thread-cache-size              = 100

open-files-limit               = 65536

table-definition-cache         = 2M
table-open-cache               = 256K
table_cache                    = 10000

#*** MyISAM Specific options

myisam_max_sort_file_size       =100G
myisam_sort_buffer_size         =39M

key_buffer_size                 =6G

read_buffer_size                =64K
read_rnd_buffer_size            =256K
sort_buffer_size                =256K

На данный момент в это не представляется возможным перейти кInnoDB.

...