Skocz do zawartości
Trans

Optymalizacja bazy danych pod gre MMORPG

Polecane posty

Mam takie pytanie, posiadam gre MMORPG i baze o pojemości 140mb i 3 272 165 rekordów. Przy każdym zapisie nadpisuje się około 2 500 000 rekordów więc jest ogromny lag w grze co bardzo przeszkadza. Dodatkowo rzadko ale zdarza sie ze przy opusczeniu przez gracza jego postac jest zapisywana do bazy i gdy jego dane wysylane do bazy sa duze nawet 50 000 rekordów to cpu skacze odrazu do 99% i innym graczom uniemozliwia to komfortowa gre. Wiec mam pytania czy da sie cos na to poradzic? Jakoś zoptymalizować baze aby tak nie muliła kompa?

Server dedykowany jest taki - http://www.ovh.pl/produkty/superplan2008.xml

 

Dane z Phpmyadmin:

Ruch:
Otrzymane na godzinę 31   MB
Wysłane na godzinę 22   MB
Sumarycznie na godzinę 53   MB

Sumarycznie 3 441 k
ø na godzinę 47,08 k
ø na minutę 784,66
ø na sekundę 13,08

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

jak baza na mysql to na 99% tibia ew world of warcraft

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Ja jestem na 99.99% ze to OTS, wedlug mnie przydala by sie optymalizacja kodu silnika.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Czyli nie mam wyjścia tylko kupić jeszcze lepszego dedyka z jeszcze lepszym CPU aby nie było takich lagów, bo zmiana configu nie pomoże?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Mam takie pytanie, posiadam gre MMORPG i baze o pojemości 140mb i 3 272 165 rekordów. Przy każdym zapisie nadpisuje się około 2 500 000 rekordów więc jest ogromny lag w grze co bardzo przeszkadza. Dodatkowo rzadko ale

zdarza sie ze przy opusczeniu przez gracza jego postac jest zapisywana do bazy i gdy jego dane wysylane do bazy sa duze nawet 50 000 rekordów to cpu skacze odrazu do 99% i innym graczom uniemozliwia to komfortowa gre. Wiec mam pytania czy da sie cos na to poradzic? Jakoś zoptymalizować baze aby tak nie muliła kompa?

Server dedykowany jest taki - http://www.ovh.pl/produkty/superplan2008.xml

 

przy tak masakrycznej liczbie zapisow zgaduje ze pierwszy wymieka dysk, wyłączenie binloga powinno go nieco odciazyc

 

moze delay-key-write ustawic na ALL, moze warto zwiekszyc bufor na indeksy (key_buffer)

 

wynik mysqladmin -i10 -r extended-status 30 sek mogl by powiedziec cos wiecej o tym co boli tamta baze

tak samo jak 30 sek iostat -kx 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

moze jak to jakis wielki bardzo popularny serwer zainwestuj w dyski SAS 10k w RAID napewno będzie szybciej

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Moze baza na osobnej maszynie? Z tego co ja wiem same silniki w sobie tez potrafia obciazyc dysk :P Moze to jest wyjscie?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Witam ponownie, teraz to już wogóle masakra. Na dzień dzisiejszy baza ma 300mb i 8mil rekordów ... chyba już nic nie moge zrobić tylko zakończyć ten serwer bo poprostu wszystkiego już probowałem aby przyśpieszyć tą baze.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość AceDude

JAK można generować taką ilość zapytań?! Tu na prawdę jedyną sensowną drogą jest optymalizacja silnika, uwierz mi. Kumpel ma OTSa, leciał na gotowym projekcie, ale go całego przepisał od nowa. CPU spadło z 90% do 1-10%, z bazą żadnych problemów też nie ma. Średnio 200 graczy online.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

@AceDude uwazasz ze przepisanie kodu silnika gry i zoptymalizowanie go to mozna zrobic z instrukcja?

 

A teraz do tematu jedyne wyjscie jakie widze to albo dyski SAS moze one cos pomoga, a jak nie to zlecic komus optymalizacje kodu, jednak z doswiadczenia wiem ze jest w nim masakryczny balagan.

 

PS. ja mam 250 online, mam XML i zyje :D

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się


×