Reduzindo o número de threads do MariaDB / MySQL

2

Portanto, estou executando um banco de dados MariaDB 10 em um único servidor núcleo; não é super poderoso, mas minhas necessidades também não são grandes.

No entanto, uma coisa que eu notei é que se eu olhar em htop eu tenho cerca de 28 mysql entradas visíveis na lista, que eu acredito ser um processo mais 27 threads (já que htop lista tópicos como processos por padrão).

No entanto, isso parece muito, pois meu banco de dados está configurado para usar um conjunto de encadeamentos com um limite de 8 encadeamentos, em vez de um encadeamento padrão por conexão, e nem está usando todos eles (atualmente em dois), então quais são os outros 25 tópicos para? Existe uma maneira que eu possa reduzir esse número?

Sei que não é necessariamente um problema, mas tenho tido consultas lentas não freqüentes (> 0,5s em vez das usuais < 1ms, pois a maioria das minhas consultas é muito simples) e parece que muitos tópicos podem ser um potencial culpado se muitos de repente acordarem de uma só vez.

Este número de threads é normal? Existe uma maneira que eu possa reduzir ainda mais, ou esses tópicos extras estão fazendo algo importante?

sudo grep thread /etc/mysql/my.cnf

thread_stack            = 256K
thread_cache_size       = 8
thread_handling         = pool-of-threads
thread_pool_max_threads = 8
thread_pool_stall_limit = 200
    
por Haravikk 06.12.2015 / 12:45

1 resposta

1

Esses segmentos têm finalidades diferentes. Existe um thread principal que inicia e aguarda até o encerramento, existem vários threads de segundo plano no Innodb e no Aria, e assim por diante.

Anexe o gdb e o thread apply all bt para ver o que eles estão fazendo - muito provavelmente eles estão sentados, sem fazer nada, esperando que algum evento aconteça.

    
por 07.06.2016 / 22:05