Administrador Administrador 1437 Postado Março 20, 2012 Administrador Share Postado Março 20, 2012 Otimizando Server Save - Limites do OTserv Fiz esse tutorial a pedido da galera que esta procurando otimizar o server save do seu OT. Nesse tutorial nós usamos o mysql tuner que é mais fácil, mas se você quiser estudar mysql e aprender como ele trabalha, como funciona cada variável, engine de tabela, storage e etc.. seria muito melhor pro seu servidor. Note que estamos usando Linux aqui, pois eu não rodo otserver em windows (não gosto, da problema, é ruim ...). Não sei se o mysql tuner roda em windows, se alguém ai souber posta nesse tópico ou cria um outro tutorial usando windows Por que o server save laga? A Cipsoft faz um grande save 1x por dia, mas como nossos sistemas, gestão é mais amadora que eles é um risco muito grande para um otserver trabalhar com save diário, por isso, a maioria das pessoas escolhe usar server save a cada 15, 30 ou 60 minutos. Quando o sistema faz um server save ele despeja todos os dados que estão em memória no banco de dados e aqui temos uma grande carga de IO (disco). Para melhorar isso vamos aprender abaixo como otimizar um pouco o mysql para ele fazer mais cache e assim usar mais a memória RAM que é milhares de vezes mais rápida que o acesso a disco e também, já que não temos saída, como melhorar nosso IO (é caro isso). 1- Otimizando Mysql Linux apenas, se alguém souber como usá-lo em windows poste aqui que atualizo O que é Mysql Tuner? Um programa desenvolvido em perl que vai ler seu mysql e propor melhorias na configuração dele para otimizar o uso do cache e entender onde estão seus problemas. Download & Install mysql tuner wget http://mysqltuner.com/mysqltuner.plchmod +x mysqltuner.pl./mysqltuner.pl Nota: Recomendo que deixe o mysql por 24 horas+ ligado para que ele consiga ser mais preciso na análise. Entendendo o Software e fazendo modificações Após você rodar o mysql tuner pelo comando (./mysqltuner.pl) você vai ver uma tela parecida com isso >> MySQLTuner 0.9.8 - Major Hayden <major@mhtx.net> >> Bug reports, feature requests, and downloads at http://mysqltuner.com/ >> Run with '--help' for additional options and output filtering Please enter your MySQL administrative login:<-- root Please enter your MySQL administrative password:<-- yourrootsqlpassword -------- General Statistics -------------------------------------------------- [--] Skipped version check for MySQLTuner script [!!] Your MySQL version 4.1.11-Debian_etch1-log is EOL software! Upgrade soon! [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: 301M (Tables: 2074) [--] Data in HEAP tables: 379K (Tables: 9) [!!] InnoDB is enabled but isn't being used [!!] ISAM is enabled but isn't being used [!!] Total fragmented tables: 215 -------- Performance Metrics ------------------------------------------------- [--] Up for: 12d 18h 33m 30s (1B q [1K qps], 185K conn, TX: 3B, RX: 377M) [--] Reads / Writes: 78% / 22% [--] Total buffers: 2.6M per thread and 58.0M global [OK] Maximum possible memory usage: 320.5M (20% of installed RAM) [OK] Slow queries: 0% (17/1B) [OK] Highest usage of available connections: 32% (32/100) [OK] Key buffer size / total MyISAM indexes: 16.0M/72.3M [OK] Key buffer hit rate: 99.9% [OK] Query cache efficiency: 99.9% [!!] Query cache prunes per day: 47549 [OK] Sorts requiring temporary tables: 0% [!!] Temporary tables created on disk: 28% [OK] Thread cache hit rate: 99% [!!] Table cache hit rate: 0% [OK] Open file limit used: 12% [OK] Table locks acquired immediately: 99% [!!] Connections aborted: 20% -------- Recommendations ----------------------------------------------------- General recommendations: Add skip-innodb to MySQL configuration to disable InnoDB Add skip-isam to MySQL configuration to disable ISAM Run OPTIMIZE TABLE to defragment tables for better performance Enable the slow query log to troubleshoot bad queries When making adjustments, make tmp_table_size/max_heap_table_size equal Reduce your SELECT DISTINCT queries without LIMIT clauses Increase table_cache gradually to avoid file descriptor limits Your applications are not closing MySQL connections properly Variables to adjust: query_cache_size (> 16M) tmp_table_size (> 32M) max_heap_table_size (> 16M) table_cache (> 64) Note que na parte "recommendations" (recomendações) ele já propor a alteração de algumas variáveis do mysql, certo? Faça-as e vá testando e experimentando! Alterando configurações mysql Dependendo da sua distro o arquivo fica em locais diferentes, eu uso debian 6.0 e o meu local é /etc/my.cnf. pico /etc/my.cnf 2- VPS ou Dedicado? Sim, isso influencia no server save! As empresas confiáveis hoje usam sistemas de virtualização chamados VMware, OpenVZ, HyperV etc... Todos esses softwares são muito bons, mas quando estamos falando de muitos players on-line e um sistema (otserver) que só consegue trabalhar com 1 CPU (núcleo) por limitações de desenvolvimento, temos um grande problema. Começar um otserver com VPS é tranquilo, mais barato, mas quando você crescer... POR FAVOR! Use o dinheiro de VIP, que seus players doam com tanto suor, para melhorar seu produto para eles. Isso é o MÍNIMO que vocês podem fazer para garantir uma qualidade descente. Todos esses sistemas de VPS limitam o IO (taxa de trocas de dado entre a memória e o disco), pois rodam 2~8 otservers em uma máquina física. Então acho que já entenderam né? VPS apenas para servidores que estão começando (até 100 online), se você quiser otimizar seu server save, mude para um servidor dedicado! 3- Segurança para contratar seu dedicado? Tenho que falar sobre isso. Tomem muito cuidado ao contratar a empresa do seu servidor, o xtibia.com ficou 1 semana offline pois uma empresa usava os dedicados dos clientes para nos atacar e isso é CRIME, tivemos que mover pedidos de desligamento para datacenters e provavelmente os clientes foram prejudicados por isso. Ter uma empresa de hosting hoje é muito fácil, qualquer um pode ter, mas estar no mercado há anos que é o difícil. Por isso recomendo só 1 empresa aqui no brasil para vocês terem seu VPS e depois seu dedicado, serversoft.com.br! Sendo muito sincero com vocês, o globalwar hoje hospeda direto com datacenters americanos, pois temos esse conhecimento na equipe, se você não é nenhum especialista em servidores e não tem ninguém para isso, hospede com uma revenda aqui no brasil (serversoft.com.br), não vai pagar mais caro por isso e ainda terá suporte em português e toda a ajuda deles. Agora vocês entendem, por que proibimos anúncios de outras empresas aqui né? Cada dia uma empresa diferente vem pedir para anunciar aqui conosco, mas como é um mercado muito complicado, eu prefiro proteger vocês usuários ganhando menos com publicidade mas mantendo uma empresa que eu confio como patrocinadora. 3- HD Sata -> SSD? A grande sacada... Se você chegou até aqui e seguiu meus passos, meus parabéns! Espero que aqui você já esteja com um dedicado ou pelo menos pensando (rsrs, prefiro a palavra convencido) em alugar um o mais rápido possível! Os servidores dedicados normais vêem hoje com hds SATA que possuem uma velocidade mecânica de 7200RPM, nós precisamos de mais performance, por isso, você deve solicitar que inclua um HD SSD 32GB para o seu dedicado, nesse HD só vai rodar o mysql, pois ele precisa de performance e fica tranquilo que seu OTserver não vai ter 32GB de banco de dados, pois ele pararia de funcionar primeiro se você não der clean de vez em quando na database... Veja a tabela de comparação: - HD SATA: 150mb/s (mecânico) - HD SATAII: 300mb/s (mecânico) - HD SSD: 3gb/s (memória volátil - eletrônico) O preço de um HD SSD custará um adicional entre $40~$70 por mês para seu dedicado! 4- Onde chegamos com isso? - O server save de 10s com 300 online, caiu para 1.5s 5- Demais Dicas? Enviadas por usuários em comentários ou e-mails. Christian Letti Say's: Desfragmentar Tabelas do Mysql mysqlcheck -p --auto-repair --check --optimize --all-databases Créditos da Solução: - tunning mysql & hd ssd (dark bart) - mysql tuner: Kydrai & christian (pstorm.net) Espero ter ajudado, perguntas??? Link para o comentário https://xtibia.com/forum/topic/182845-otimizando-server-save-limites-do-otserv-100-linux/ Compartilhar em outros sites More sharing options...
Kydrai 146 Postado Março 20, 2012 Share Postado Março 20, 2012 (editado) As maiores dificuldades que tivemos foram relacionadas a servidores, coisas como estabilidade, save, segurança e ataques. Isso é fundamental para se manter um servidor online. São ótimas dicas e é um assunto que está em falta nos fóruns de open tibia. Editado Março 20, 2012 por kydrai Link para o comentário https://xtibia.com/forum/topic/182845-otimizando-server-save-limites-do-otserv-100-linux/#findComment-1220932 Compartilhar em outros sites More sharing options...
DaNDaNrOxX 15 Postado Março 20, 2012 Share Postado Março 20, 2012 Ótimo tutorial, realmente é um assunto que deve ser discutido.... Como foi citado pelo amigo acima, estabilidade, segurança e boa jogabilidade, são pontos necessários e se bem oferecidos, torna o servidor popular e claro, muito divertido Link para o comentário https://xtibia.com/forum/topic/182845-otimizando-server-save-limites-do-otserv-100-linux/#findComment-1220943 Compartilhar em outros sites More sharing options...
dwhfms 168 Postado Março 20, 2012 Share Postado Março 20, 2012 Muito obrigado pelo conteúdo Gustavo, eu havia pedido semana passada e vocês atenderam Link para o comentário https://xtibia.com/forum/topic/182845-otimizando-server-save-limites-do-otserv-100-linux/#findComment-1220966 Compartilhar em outros sites More sharing options...
joao33 29 Postado Março 20, 2012 Share Postado Março 20, 2012 BOM SE ALGUEM DESCOBRIR ISSU PARA WINDOWS MANDA PRIVATE? Link para o comentário https://xtibia.com/forum/topic/182845-otimizando-server-save-limites-do-otserv-100-linux/#findComment-1220979 Compartilhar em outros sites More sharing options...
Administrador Administrador 1437 Postado Março 20, 2012 Autor Administrador Share Postado Março 20, 2012 Galera, descobri que ele roda em windows também https://blueprints.launchpad.net/mysqltuner/+spec/windows-support Quem puder testar ai seria legal, posta aqui que eu adiciono no tutorial lá em cima para outros usuários serem ajudados. Link para o comentário https://xtibia.com/forum/topic/182845-otimizando-server-save-limites-do-otserv-100-linux/#findComment-1221008 Compartilhar em outros sites More sharing options...
joao33 29 Postado Março 20, 2012 Share Postado Março 20, 2012 VO TEST QNDO DER Link para o comentário https://xtibia.com/forum/topic/182845-otimizando-server-save-limites-do-otserv-100-linux/#findComment-1221015 Compartilhar em outros sites More sharing options...
Beeki 284 Postado Março 20, 2012 Share Postado Março 20, 2012 Ótimo tutorial Gustavo... eu utilizei outro Modo para optimizar meu Banco de dados mais o seu é bem mais eficiente, Parabéns e Reputado. Link para o comentário https://xtibia.com/forum/topic/182845-otimizando-server-save-limites-do-otserv-100-linux/#findComment-1221019 Compartilhar em outros sites More sharing options...
Administrador Administrador 1437 Postado Março 20, 2012 Autor Administrador Share Postado Março 20, 2012 Beeki, explica como você fez Link para o comentário https://xtibia.com/forum/topic/182845-otimizando-server-save-limites-do-otserv-100-linux/#findComment-1221020 Compartilhar em outros sites More sharing options...
Beeki 284 Postado Março 20, 2012 Share Postado Março 20, 2012 Maioria dos lags no serve save demora pela grande quantidade de tabelas que é feito o save, ou seja eu excluir algumas tabela do server save, deixando só as importantes, as insignificantes eu salvo normalmente a cada 80 Minutos, mais também eu não deixo para salva as tabelas importantes somente o serve save, eu dou um save nela a cada 3 Horas também, até Link para o comentário https://xtibia.com/forum/topic/182845-otimizando-server-save-limites-do-otserv-100-linux/#findComment-1221114 Compartilhar em outros sites More sharing options...
Administrador Administrador 1437 Postado Março 21, 2012 Autor Administrador Share Postado Março 21, 2012 Muito bom em, posta depois isso codificado para a galera aprender e me notifica Link para o comentário https://xtibia.com/forum/topic/182845-otimizando-server-save-limites-do-otserv-100-linux/#findComment-1221271 Compartilhar em outros sites More sharing options...
Beeki 284 Postado Março 21, 2012 Share Postado Março 21, 2012 é um pouco Difícil fazer isso, mais pra frente eu Elaboro um tutorial pra isso, até Link para o comentário https://xtibia.com/forum/topic/182845-otimizando-server-save-limites-do-otserv-100-linux/#findComment-1221278 Compartilhar em outros sites More sharing options...
Makelin1 89 Postado Março 21, 2012 Share Postado Março 21, 2012 Otimo Tutorial Gustavo ! Aprovado Link para o comentário https://xtibia.com/forum/topic/182845-otimizando-server-save-limites-do-otserv-100-linux/#findComment-1221418 Compartilhar em outros sites More sharing options...
Tryller 193 Postado Março 22, 2012 Share Postado Março 22, 2012 (editado) Uma vez eu fiz uma coisa esqisita no meu evolutions quando era 8.0 nuss aquele save era uma merda auhauha Ai eu dividi o save em partes, e o save passou muito mais eficiente. Ground Cache já não faz um papel semelhante? Mesmo asism excelente tutorial Editado Março 22, 2012 por Tryller Link para o comentário https://xtibia.com/forum/topic/182845-otimizando-server-save-limites-do-otserv-100-linux/#findComment-1221706 Compartilhar em outros sites More sharing options...
cs007 13 Postado Março 22, 2012 Share Postado Março 22, 2012 Bom quem puder postar para windows vai ser de grande ajuda, eu uso windows pois não sei nada de linux, meu server agora está pesando no save, demorando em torno de 20 segundos "tempo de mais" com isso agora está causando kicks coisa que player detesta. Se alguém puder ajudar vai ser muito bom pois creio que 80% dos ots são rodados em windows, valeu Link para o comentário https://xtibia.com/forum/topic/182845-otimizando-server-save-limites-do-otserv-100-linux/#findComment-1221760 Compartilhar em outros sites More sharing options...
Posts Recomendados