MateusDS Postado Fevereiro 20, 2014 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.
joaopaulo Postado Fevereiro 21, 2014 Postado Fevereiro 21, 2014 Você está fazendo errado. Tem um tutorial no fórum.
MateusDS Postado Fevereiro 21, 2014 Autor Postado Fevereiro 21, 2014 Obrigado acabei de achar eu não sabia dessa ferramenta "mysqltuner" =D
Posts Recomendados