carga pesada no mysql

1

eu tenho servidor dedicado com muito boa configuração como 16 gb ram etc, mas estou enfrentando carga pesada do mysql estou executando um wesbite de música no entanto apenas um banco de dados está em execução e 5-10 páginas estão apenas em execução.quando clico em whm show processlist mostra apenas 2-3 processos

No entanto, whm load é sempre menor que um, mas quando eu clico em whm load ele mostra 20% do uso da cpu pelo mysql e depois de algum tempo ele começa dizendo que não pode conectar ao mysql. servidor mysql foi embora

  1691 (Trace) (Kill)    mysql   0     19.2     2.7    /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql --log-   error=/var/lib/mysql/server.xyz.com.err --pid-file=/var/lib/mysql/server.xyz.com.pid 

Eu testei páginas estáticas que estão chegando rápido, mas todas as páginas dinâmicas que estão usando o mysql estão ficando lentas e demoram anos para serem abertas ..

o arquivo my.conf é

 [mysqld]
 key_buffer = 1536M
 max_allowed_packet = 1M
 max_connections = 250
 max_user_connections = 15
 wait_timeout=40
 connect_timeout=10
 table_cache = 512
 sort_buffer_size = 2M
 read_buffer_size = 2M
 read_rnd_buffer_size = 8M
 myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size = 32M
server-id       = 14
old-passwords = 1

 [mysqldump]
 quick
 max_allowed_packet = 16M

[mysql]
no-auto-rehash

[myisamchk]
key_buffer = 256M
 sort_buffer_size = 256M
 read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout

ihave verificado arquivo de erro de log não diz nada.tenho aumentado conexão máxima também para 1000, mas ainda mesmo problema está lá.Se eu desligar esse banco de dados apenas mudando o nome do banco de dados eu posso ver a meia hora a carga do servidor e mysql desce para negliglble .i ter testado tudo e se houver alguma consulta que pode causar carga pesada para o servidor você pode por favor listar que tipo de consulta pode causar carga pesada no servidor, em seguida, também para 5-10 páginas que nunca vai causar muito carga pesada. Eu vi servidor com 500 sites, mas estava funcionando muito bem.

    
por payal 20.10.2012 / 17:52

2 respostas

1

Qual é o tamanho do seu banco de dados? Qual mecanismo de armazenamento você está usando? São principalmente dois: myIsam (o padrão) e InnoDB. myIsam não manipula muito bem a gravação concorrente, e o atraso pode ocorrer durante a inserção / atualização de linhas.

Se você estiver usando myIsam, você também pode experimentar o myisamchk, descrito aqui: link

Você provavelmente desejará usar a opção -d para reunir informações sobre suas tabelas antes de executar a instrução OPTIMIZE.

Os arquivos do banco de dados também podem ser hospedados em um caminho de rede ou em uma unidade falsa. No último caso, verifique o seu syslog em busca de um erro na unidade.

    
por 20.10.2012 / 20:04
0

Nesse caso, se eles forem dois acessos simultâneos ao seu banco de dados (selecione e atualize), um deadlock pode aparecer.

Eu sugiro strongmente usar o mecanismo do innoDB nesse caso. Você terá que configurar um armazenamento de arquivos innoDB (em my.cnf, veja "innodb_data_file_path"), então converta suas tabelas com

ALTER TABLE 'YOURTABLENAME' ENGINE=InnoDB;

Tenha em atenção que o innoDB utiliza muito mais espaço do que o MyIsam. Uma tabela de 1GB pode provavelmente consumir espaço de dados de 2GB InnoDB.

O InnoDB é mais lento na solicitação de leitura, mas lida com atualização / seleção de falhas simultâneas.

Edit: Se você já tem uma linha "innodb_data_file_path" em seu innoDB, alterá-la pode quebrar seu espaço para dados innoDB. Se nenhuma das suas tabelas usar esse armazenamento, não há problema em criar novos arquivos desde o início, caso contrário, você pode não precisar atualizar essa linha e confiar em autoextend, ou você pode adicionar arquivos, assim:

innodb_data_file_path=ibdata1:10M;ibdata2:2000M:autoextend

Isso adicionará um arquivo com tamanho de arquivo inicial de 2 GB, que pode aumentar)

    
por 21.10.2012 / 10:18