Por que meu servidor tem muitos encadeamentos mysql?

1

Percebi que meu servidor está consumindo quase 500 MB de RAM, com 19 encadeamentos iniciados, conforme mostrado na imagem a seguir.

Imagem superior dos Threads do MYSQL:

Aqui está a configuração:

-------- General Statistics --------------------------------------------------
[--] Skipped version check for MySQLTuner script
[OK] Currently running supported MySQL version 5.1.41-3ubuntu12
[OK] Operating on 32-bit architecture with less than 2GB RAM

-------- Storage Engine Statistics -------------------------------------------
[--] Status: -Archive -BDB -Federated +InnoDB -ISAM -NDBCluster
[--] Data in MyISAM tables: 136M (Tables: 256)
[--] Data in InnoDB tables: 85M (Tables: 29)
[--] Data in MEMORY tables: 126K (Tables: 1)
[!!] Total fragmented tables: 70

-------- Performance Metrics -------------------------------------------------
[--] Up for: 8d 18h 35m 35s (8M q [11.203 qps], 509K conn, TX: 4B, RX: 934M)
[--] Reads / Writes: 56% / 44%
[--] Total buffers: 72.0M global + 2.8M per thread (100 max threads)
[OK] Maximum possible memory usage: 347.8M (33% of installed RAM)
[OK] Slow queries: 0% (74/8M)
[OK] Highest usage of available connections: 16% (16/100)
[OK] Key buffer size / total MyISAM indexes: 16.0M/58.1M
[OK] Key buffer hit rate: 99.9% (317M cached / 259K reads)
[OK] Query cache efficiency: 61.9% (3M cached / 4M selects)
[!!] Query cache prunes per day: 60422
[OK] Sorts requiring temporary tables: 0% (5 temp sorts / 328K sorts)
[!!] Joins performed without indexes: 18909
[OK] Temporary tables created on disk: 22% (32K on disk / 140K total)
[OK] Thread cache hit rate: 99% (54 created / 509K connections)
[!!] Table cache hit rate: 0% (64 open / 40K opened)
[OK] Open file limit used: 10% (112/1K)
[OK] Table locks acquired immediately: 99% (4M immediate / 4M locks)
[!!] InnoDB data size / buffer pool: 86.0M/8.0M

O que há de errado ou como posso reduzir a contagem de threads do mysqld?

O servidor não tem tráfego especial, é um vps que hospeda dois sites com tráfego de baixa qualidade.

    
por daniol 30.03.2011 / 20:58

1 resposta

1

Você pode ter conexões de persistência ativadas no PHP.

Mas 500MB para MYSQL não é grande, é pequeno.

Existem vários problemas com o relatório

  1. Junções realizadas sem índices: 18909
    você precisa olhar para adicionar índices para suas colunas estrangeiras
  2. Taxa de acertos do cache de tabela: 0%
    você precisa aumentar os valores de cache de tabela do mysql
  3. Tamanho dos dados do InnoDB / buffer pool: 86.0M / 8.0M
    aumentar os valores do buffer de innodb
por 30.03.2011 / 21:11