Jump to content
×
×
  • Create New...

Otimizando Server Save - Limites Do Otserv (100% Linux)


Recommended Posts

  • Administrador

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

:D

 

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.pl
chmod +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???

21nl25z.png

Link to post
Share on other sites
  • Replies 41
  • Created
  • Last Reply

Top Posters In This Topic

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.

Edited by kydrai
Link to post
Share on other sites
  • Administrador

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 to post
Share on other sites

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 to post
Share on other sites

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

Edited by Tryller
Link to post
Share on other sites

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 to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.


    Administrador |  Diretor |  Coordenador |  Moderador |  Suporter |  Estagiário |  Herói
  • Similar Content

    • By Gomes2144
      fala pessoal , estou abrindo esse ot ai . e gostaria muito de ajuda pra ajeitar o meu site . tem varios erros ...
      ex: qnd cria a account , da um erro falando q nao enviou o email pra pessoal etc... tem um outro erro dizendo q o arrey e obsoleto etc... 
      a parte de lost account tbm nao ta funcionando . 
       
      e nao sei se serve nesse topico mais to buscando um sistema de cast e ajuda dentro do servidor . busco parceria !!! 
       
      me chama no zap : +5491126541681 matheus -> meu nome
    • By niloahs
      Após um longo período de teste, estamos aqui para anunciar a data de lançamento oficial do BlackTalon Online (23 de julho, 14:00 BRT)

      Website: BlackTalon - Latest News
      IP: blacktalon.online
      Wiki Link: BlackTalon Wiki

      Discord Server

       

      Exp: Custom (Semi - Low)
      Skill: 18x
      Magic: 10x
      Loot: Custom (Monster Orb)
      Server Type: PvP/RPG
      Frags para redskull: 5 por dia, 1 frag removido a cada 5 horas


      Mapa
       Temos várias áreas de caça, a maioria delas acessíveis através de áreas de teletransporte e outras que você só descobrirá explorando. E conforme você progride, você será capaz de se mover por diferentes cidades e novos desafios serão apresentados a você. 

      Systems

      Attributes
      Conforme você nivela seu personagem, você obterá pontos de atributo, que você pode investir em 5 categorias diferentes que são: Poder, Inteligência, Vitalidade, Agilidade e Sorte. Cada um deles se traduz em um conjunto diferente de bônus. Atributos também podem estar presentes em seu equipamento.

      Monster Class
      Quando você estiver subindo de nível, você notará que alguns monstros terão caveiras sob seus nomes e o que isso significa é que aquele monstro específico é especial e terá estatísticas aprimoradas como mais dano, saúde, velocidade e melhor pilhagem também. Existem 4 classes diferentes de monstros, sendo estranho o mais fraco e lendário sendo o mais difícil, e cada um deles irá fornecer a você um orbe de monstro garantido.  


      Monster Orb
      Matar um monstro especial, como mencionado acima, concederá a você 100% de chance com um orbe de monstro. As orbes dos monstros são coletadas automaticamente e podem render a você recompensas diferentes e maiores, dependendo do tipo de monstro especial que você derrotou. Quanto mais alta a classe de monstro morta, melhor será o saque do orbe do monstro, com também uma chance de conceder a você o equipamento correspondente à classe de monstro.  


      Equipment Rarity
      Ao coletar um orbe de monstro, você tem a chance de obter um equipamento especial com sua raridade correspondente à classe do monstro morto, por exemplo: um monstro estranho pode render a você equipamento com raridade "estranha" e terá atributos superiores se comparado à versão normal de isto. Portanto, matar a classe de monstro mais forte irá fornecer equipamentos mais fortes, tornando-os valiosos e procurados.
      Relics
      Relíquias são um novo tipo de equipamento, obtido através de chefes de missões e chefes de tarefas, sendo armazenadas dentro do contêiner de relíquias, que pode ser aberto usando o botão Relíquias no jogo. Uma vez clicado, um contêiner será aberto e você só precisará arrastar e soltar as relíquias desejadas que deseja usar nele. Você só pode equipar no máximo cinco relíquias diferentes, o que significa que você não pode equipar duas da mesma relíquia. Todas as relíquias têm um bônus especial, que pode ser um aumento no ouro dado aos orbes, mais experiência ao matar criaturas, etc.



      Guild System
      Ao contrário dos sistemas normais de guilda, onde é apenas uma forma de reunir jogadores em um grupo, BlackTalon tem recursos especiais que tornam as guildas muito mais benéficas.
       
       
      As guildas também podem subir de nível e com isso ganhar vários bônus que ajudam apenas aqueles que fazem parte de uma guilda, isto é, se a sua guilda tiver níveis suficientes. Você pode ganhar experiência de guilda fazendo missões diárias e chefes diários enquanto estiver em uma guilda, que contará para a experiência necessária, localizada no menu da guilda. As vantagens vêm de cada nível que uma guilda passa e dão bônus como:

       
      Achievements Conquistas são marcos que podem ser desbloqueados depois de fazer algo, seja uma determinada tarefa uma ou várias vezes ou algo totalmente inesperado.

       
      Addon & Mount Bonuses Character Info
      Ficar na moda no BlackTalon não é puramente cosmético. Coletar todos os tipos de addons e montarias pode aumentar substancialmente a proeza geral do seu personagem, tornando mais fácil progredir nos desafios BlackTalon. Você pode verificar o seu bônus total usando o comando !info ou indo ao menu others, localizado na parte superior do cliente, como sugere a imagem. No painel de informações do personagem, haverá uma pequena janela chamada Cosméticos, onde você encontrará informações sobre seus bônus cosméticos. Informações cosméticas

       
      Cosmetic tiers Addons e montarias são divididos em quatro categorias diferentes, cada uma dando melhores bônus do que a anterior. Uma tabela é organizada a seguir para compreender melhor a diferença entre as camadas cosméticas. Bot Nosso cliente de jogo possui uma funcionalidade de bot embutida para facilitar o seu jogo. Você pode abrir seu bot clicando no ícone localizado no canto superior direito.


      WWW.BLACKTALON.ONLINE
    • By yuriowns
      Hams OT online desde 2011, 10 anos de existência, considerado o melhor servidor OldSchool de todos os tempos.
      Somos uma ótima opção para jogadores que querem se divertir e se dedicar a um servidor OldSchool profissional.
      Contamos com equipe dedicada que atende o jogador, tirando dúvidas sobre o jogo.
      Estamos te aguardando.
      Inauguração dia 16/07 - às 19:00 horário de Brasília!
      IP: hamsot.servegame.com
      SITE: http://hamsot.servegame.com/
      Principais informações:
      * HOST BR 24 horas sem lag
      * Attack speed moderado
      * Anti rollbacks
      * Ticket system (contato com o ADM)
      * Cliente próprio (com diversas opções inovadoras)
      * Diversas hunts/quests exclusivas criadas do ZERO!
      * Mapa Próprio, feito do ZERO.
      * Servidor otimizado, suportando mais de 1.000 players onlines
      »» EXP Rate: 10x
      »» Skill Rate: 500x
      »» Magic Rate: 200x
      »» Loot Rate: 2x
      Não perca mais tempo, venha conhecer mais do nosso trabalho!



    • By yuriowns
      Salve rapaziada, estou com um protejo de um servidor de tibia na versão 7.6 com mapa próprio, contendo hunts/quests exclusivas criadas do zero, além do PVP super balanceado.
       
      Estou a procura de um programador experiente em .lua ou .php para me auxiliar em algumas ideias e fazer alguns orçamentos por scripts feitos. meu whats: 47991807029
       
      Valeu!!
    • By daigokagen
      Kagera é um servidor com mapa próprio com o intuito de se divertir com os amigos caçando e curtindo o RPG.
      Bestiarios 100% Imbuiment 100%, Hunts próprioas, POI, Demon Oak, Inquisition, Otherworld e muito mais !!
      Daily Bosses e Mini bosses: Grimvale, Kroazur, Lion Sanctum, Grave Danger, Forgotten, Dream Scar, Falcon, Cobra Bastion e Bounac

      Qualquer ajuda que você possa nos proporcionar é só entrar em contato no e-mail: kagera.contato@gmail.com

      Para os iniciantes, deixamos a imagem do mapa com algumas hunts no site para vocês desfrutarem.

      Site: http://kageraworld.servegame.com/

      Estágios:
      8-20: 25x
      20-50: 15x
      50-80: 5x
      80-100: 4x
      100-999: 3x