Há um monte de coisas para melhorar o desempenho do seu banco de dados. Primeiro eu vou a algumas coisas:
- Você poderia tentar aumentar seu query_cache_size.
- Crie índices em tabelas populares
Estou procurando ajuda para o meu servidor MYSQL. Estou executando um servidor MYSQL 5.7 em um servidor de processador high-end de 64 GB (nada mais nele) e simplesmente não consigo configurar para que ele use todos os recursos disponíveis.
Então, primeiro, eu sei que eu deveria replicar o servidor em breve e ter o Slave / master Mysql - faça isso assim que eu explorar completamente o meu primeiro servidor. Também passei semanas otimizando as consultas e o cache diferente (lado do apache) para limitar a quantidade de consultas. Agora preciso fazer algumas configurações para que seja legal.
A situação; Eu tenho uma quantidade enorme de tráfego e uma quantidade enorme de consultas - e o mysql parece não ser capaz de lidar com isso mais. Eu atualmente corro cerca de 700 seleções / segundo (apenas 20 atualizações e 30 inserções) (meu site e apache é executado em 3k conexões simultâneas). Meu primeiro pensamento foi MaxClients que levei até 250; No entanto notei que nunca tenho mais de 7 "Conexões" simultâneas (diz MysqlWorkbench). Eu tentei entender as coisas que o "Relatório de Desempenho" me diz, mas não encontro números estranhos. É por isso que preciso da sua ajuda.
Esta é a configuração atual que fiz para o MYSQL:
max_connections = 250
query_cache_type=1
key_buffer_size=128M
query_cache_size=64M
back_log=100
query_prealloc_size=32K
sort_buffer_size=16M
read_buffer_size=2M
read_rnd_buffer_size=4M
key_cache_age_threshold=3000
key_cache_division_limit=50
memlock=1
max_connect_errors=999999
max_allowed_packet=1M
Eu também alterei a configuração do somaxcon do meu Ubuntu. Alguém pode me ajudar a atingir um limite maior para o meu servidor MYSQL? Porque atualmente meus processadores são apenas 10% e minha memória RAM em 6GB de 64 e MYSQL está abrandando o meu site / API para baixo (muito tráfego). Qual é a configuração "perfeita" (eu sei que não existe).
Ah, e tenho certeza de que o problema está no servidor; tudo funciona sem problemas se eu cortar todas as conexões MYSQL e usar apenas minhas conexões Mongo / Redis (cada serviço é executado em um servidor diferente).
Por favor me ajude, estou arrancando meu cabelo. Por favor, diga-me se você precisar de alguma tela do MysqlWorkbench.
Há um monte de coisas para melhorar o desempenho do seu banco de dados. Primeiro eu vou a algumas coisas:
Veja aqui link
Unlike the mysql extension, mysqli does not provide a separate function for opening persistent connections. To open a persistent connection you must prepend p: to the hostname when connecting.
Estou curioso para saber o que seus comparativos de mercado mostrarão agora.
Sugestões a considerar para sua seção my.cnf-ini [mysqld]
Lidere com # para desativar ou REMOVER os seguintes itens para permitir que os padrões funcionem para você.
sort_buffer_size . read_buffer_size . read_rnd_buffer_size
linhas adicionais para alterar ou adicionar ao my.cnf-ini
max_connect_errors=10 # from 999999 to make Hackers/Crackers life miserable
por que dar a eles mais de 10 chances de adivinhar uma senha?
Isso ajudará.
Tags mysql configuration