MateusDS Postado Fevereiro 20, 2014 Compartilhar Postado Fevereiro 20, 2014 Eu possuo um servidor de um jogo chamado minecraft, este jogo é constituído por vários blocos. Em meu servidor cada bloco colocado por um jogador as informações ficam armazenado no banco mysql localhost em um ssd. A cada determinado tempo (geralmente 15 minutos) o servidor gera um "lag" de aproximadamente 10 a 15 segundos, este lag aparentemente é causado pela conexão que chega a um limite e ela é forçada a fechar e reabrir e nesse tempo fica "lagado/travado (o servidor de minecraft)". O tempo entre minecraft para o mysql tem que ser instantâneo e por isso neste processo (de acordo com o phpmyadmin) o tempo sempre fica 0, mas quando da o travamento (a cada +-15min) o tempo fica em até 15 segundos que é o tempo que parece que abre e fecha o banco e nesse tempo que parece que está fechando e abrindo o banco de dados o servidor fica travado por +- 15 segundos. Antes eu usava um banco em SQLITE3 (nunca travava) mas ele começou a ficar muito grande e quando chegou a uns 2 GB eu converti para MYSQL porque o servidor demorava muito tempo para ligar e desligar, agora usando MYSQL ele liga muito rápido porém da o lag/travamento de +-15sec a cada +-15minutos. Após colocar em MYSQL ele começou a travar atualmente ele tem 3,6GB no MYSQL (MyISAM usando o modo Compressed). Eu já adicionei/alterei várias vezes e de formas diferente as configurações do my.cnf mas nunca teve exito sempre fica igual no caso o meu servidor é um dedicado com 32GB de RAM com o processador Xeon E3-1270 v2 (8M Cache, 3.50 GHz) e nele tem instalado o whm/cpanel. Eu já usei no /etc/my.cnf A configuração default, esta: [mysqld] innodb_file_per_table=1 default-storage-engine=MyISAM key_buffer_size=5G max_allowed_packet=4M sort_buffer_size=8M read_buffer_size=8M read_rnd_buffer_size=32M myisam_sort_buffer_size=256M esta aqui: esta: [mysqld] innodb_file_per_table=1 default-storage-engine=MyISAM key_buffer_size=5G max_allowed_packet=4M sort_buffer_size=8M read_buffer_size=8M read_rnd_buffer_size=32M myisam_sort_buffer_size=256M thread_cache_size=32 query_cache_size=128M thread_concurrency=8 table_open_cache=5120 max_connections=300 open_files_limit=16384 long_query_time=30 query_cache_limit=6M max_allowed_packet=64M query_prealloc_size=262144 query_alloc_block_size=65536 e agora esta: [mysqld] innodb_file_per_table=1 default-storage-engine=MyISAM key_buffer_size=5G max_allowed_packet=12M sort_buffer_size=16m read_buffer_size=16M read_rnd_buffer_size=2147483647 myisam_sort_buffer_size=16G thread_cache_size=32 thread_concurrency=8 table_open_cache=524288 max_connections=500 open_files_limit=16384 long_query_time=30 max_allowed_packet=64M query_prealloc_size=262144 query_alloc_block_size=65536 join_buffer_size=2M tmp_table_size=128M max_heap_table_size=128M wait_timeout=86400 interactive_timeout=86400 myisam_use_mmap=1 query_cache_type=1 query_cache_size=512M query_cache_limit=3M 1º Conclusão que eu tive: Eu li vários tópicos forums, manual do mysql e por isso eu conclui que o problema pode ser que chega a um limite a conexão e ela fecha e abre e o tempo de fechamento e abertura é de cerca de 15 sec e o limite chega em +-15minutos INDEPENDENTE da quantidade de jogador, se o servidor de minecraft tiver apenas 1 jogador colocando blocos e se ele colocar em um período que é de +-15 minutos o servidor de minecraft (porque a cada +-15 min o banco parece fechar e abrir ao mesmo tempo) irá travar. 2º Conclusão: As configurações do meu mysql são absurdas hehehe, agora eu alterei para isso mas o problema ainda persiste :( [mysqld] innodb_file_per_table=1 default-storage-engine=MyISAM wait_timeout=86400 interactive_timeout=86400 key_buffer_size=5G sort_buffer=1M join_buffer=1M max_join_size=2M max_heap_table_size=128M tmp_table_size=2G query_cache_limit=1M query_cache_size=512M max_connections=500 max_user_connections=50 innodb_buffer_pool_size=128M innodb_thread_concurrency=4 Eu gostaria de saber se essa suposição que eu tive de a cada +- 15 minutos o banco fecha e abre é verdade e se possível como que eu posso corrigi-la(observação: o meu servidor de minecraft faz cerca de 150 Queries/segundo no banco MYSQL, eu não sei se isso é alguma informações útil). Eu não sei muito sobre mysql, o pouco que eu sei foi o que eu li de sites de discussão e do manual do MYSQL. Link para o comentário Compartilhar em outros sites More sharing options...
joaopaulo Postado Fevereiro 21, 2014 Compartilhar Postado Fevereiro 21, 2014 Você está fazendo errado. Tem um tutorial no fórum. Link para o comentário Compartilhar em outros sites More sharing options...
MateusDS Postado Fevereiro 21, 2014 Autor Compartilhar Postado Fevereiro 21, 2014 Obrigado acabei de achar eu não sabia dessa ferramenta "mysqltuner" =D Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados