• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!
  • 2026 staff recruitment is open! Check it out and consider applying!

Ponowne zabawy konkurencji, 100% CPU, co radzicie? - NIC NIE POMAGA!

Status
Not open for further replies.
Slyszalem ze niektore TFSy (nie mysql) traca polaczenie z baza od tego ze jest od chu.. rekordow w bazie typu accounts i players i dlatego ludzie robia takie skrypty jak : http://otland.net/f82/automated-database-cleanup-1-1-solution-inactive-players-60128/#post617266
jednakze nigdy nie potwierdzilem tego u siebie na OTServie moglby ktos sie do tego jakos ustosunkowac? (to tylko pogloski od gosci ktorzy mi na gadu pisali jednakze troszki ich bylo;f)

Nawet zwykla baza danych MySQL bez zadnych ulepszen jest w stanie utrzymac miliony rekordow w tabelach wiec nie powinno to stanowic zadnego problemu. Moze jest to problem z serverem.
 
Nawet zwykla baza danych MySQL bez zadnych ulepszen jest w stanie utrzymac miliony rekordow w tabelach wiec nie powinno to stanowic zadnego problemu. Moze jest to problem z serverem.

Dlatego napisalem ze to wina serwera TFS ktory traci polaczenie z baza jak jest duzo rekordow w bazie a nie mysqla ;p
(oczywiscie nie pisze ze to dotyczy kazdego TFS'a tylko to dotyczy pewnie jakis odsetek ludzi i TFS jest pewnie tez bogu ducha winny ;f)
 
Miałem kiedyś atak tego typu i na prawde wiem jak to boli ;]
 
Powodzenia, jesli dalbys rade tworzyc nawet 5-10 kont na sekunde to i tak by server tego nie odczul.

* Zależy jaki serwer.

Nawet zwykla baza danych MySQL bez zadnych ulepszen jest w stanie utrzymac miliony rekordow w tabelach wiec nie powinno to stanowic zadnego problemu. Moze jest to problem z serverem.

Zależy na jakim serwerze, w większości serwerów na jakich stoją OTSy (ownerzy jadą po kosztach) to nie wytrzyma.
 
* Zależy jaki serwer.



Zależy na jakim serwerze, w większości serwerów na jakich stoją OTSy (ownerzy jadą po kosztach) to nie wytrzyma.

Wytrzyma wytrzyma, to nie 2004 gdzie sie mialo Intel celerony i 256mb ram. Nawet najgorsze servery lub nawet VPS w ovh sa w stanie wytrzymac taka ilosc rekordow.
 
Wytrzyma wytrzyma, to nie 2004 gdzie sie mialo Intel celerony i 256mb ram. Nawet najgorsze servery lub nawet VPS w ovh sa w stanie wytrzymac taka ilosc rekordow.

Nie wytrzyma, MySQL się zawiesi. :)
Nie kwestionuj tego, bo na podstawowym configu takich manewrów nie zrobisz, chociaż faktem jest że podstawowy wytrzyma wiele, ale nie aż tyle.
 
Dobry skrypt z multi curl i masz 5k postaci na minute - mało?
Samo karanie nie polega na zapchaniu bazy rekordami tylko zaspamowanie zapytaniami mysql.
Interesowałem się tym troche po ataku na mnie.
 
Last edited:
Nie wytrzyma, MySQL się zawiesi. :)
Nie kwestionuj tego, bo na podstawowym configu takich manewrów nie zrobisz, chociaż faktem jest że podstawowy wytrzyma wiele, ale nie aż tyle.

Wez mi nie pierdol bo nie raz pracowalem na takiej bazie danych i nigdy nie mialem zadnych problemow.

Wlasnie teraz zrobilem benchmark i dodaje mi 1.8k rekordow na sekunde. I aktualnie mam 224k I bez problemowo leci w gore. Zobaczymy kiedy ci sie zawiesi server. Przedzej mi sie skonczy pamiec.

Nagralem nawet krotki filmik (Podczasz dodawania rekordow!) http://www.youtube.com/watch?v=4ELByLGNU14 Zaraz bedzie dostepny.

@edit 2

Juz jest prawie 800k rekordow, moze zostawie na noc i zobacze ile bedzie na rano :)?

@edit 3
Milion prosze panstwa :)
 
Last edited:
$haleko
Tylko więszkość nie ma exabd, a exabd też da się obejść.
$Paxton
Tylko patrz też że gdy zakładasz postać to nie jest dodawany 1 rekord tylko więcej np players_items, skills itd
 
Tylko patrz też że gdy zakładasz postać to nie jest dodawany 1 rekord tylko więcej np players_items, skills itd

Wiem o tym, ale za bardzo nie ma to nic do rzeczy, bo MySQL nadal trzyma i bedzie trzymac nawet gdybys mial 500k postaci i kazde z nich 20 rekordow w bazie. Teraz mi dodaje 1.8k rekordow do bazy a moglbym sobie jeszcze WOW'a wlaczyc :) Limit bazy danych na MAC OSX to 2TB. Aha i jeszcze jedno, mam troche wieksza przewage bo u mnie wszystkie te rekordy sa w jednej bazie a w OTS w kilku, wiec szukanie jest szybsze.
 
Robiąc to na multi curlu do tego z kilku serwerów mysql nie wyrabia z zapytaniami, o to tu raczej chodzi. A nawet robiąc to wolniej, po jakimś czasie zaczną się rzeczy typu rozłączanie tfs z mysql, lagi itp.
Co do tematu - problem znany już od dawna.
 
Robiąc to na multi curlu do tego z kilku serwerów mysql nie wyrabia z zapytaniami, o to tu raczej chodzi

Szczerze w to watpie zebys dal rade przez stronne nie na localhoscie wywolac wiecej niz 1000 zapytan na sekunde, ba watpie ze wywolasz nawet 300.

Widzisz, ja teraz mam petle na localhoscie i robi mi 1.8-2k na sekunde, a tutaj wchodzi w droge ping etc btw juz 2mln :)

Kurde, teraz mi robi 20k na sekunde :) A system chodzi jak chodzil (Skacze miedzy 3k-20k)
 
Last edited:
To daj jakieś dłuższe zapytanie dodające rekordy do kilku tabel
 
Szczerze w to watpie zebys dal rade przez stronne nie na localhoscie wywolac wiecej niz 1000 zapytan na sekunde, ba watpie ze wywolasz nawet 300.

Widzisz, ja teraz mam petle na localhoscie i robi mi 1.8-2k na sekunde, a tutaj wchodzi w droge ping etc btw juz 2mln :)

Kurde, teraz mi robi 20k na sekunde :) A system chodzi jak chodzil

Rozumiem ze robisz tylko inserty, dodaj do tego jeszcze selecta przeszukujacego po jakims polu ( najlepiej jakims char ) przed kazdym insertem, bo przeciez sprawdzamy za kazdym razem czy nie ma juz playera o takiej nazwie. Nie bedzie juz raczej tak pieknie, pozatym scheduler na dekstopie dziala AFAIK inaczej niz ten serwerowy ( dlatego nie pozwala mysqlowi zabic maczyny ). Moga jeszcze IO nie wyrabiac na maszynie.
 
To daj jakieś dłuższe zapytanie dodające rekordy do kilku tabel

Teraz dodaje mi do 3 tabeli, i nadal zadnej roznicy.

W tej spolecznosci istnieje taki jakby strach przed iloscia SQL query, czesto widze jak ktos napisze skrypt w website application i ktos zobaczy select * (...) to odrazu wojna. Zacznijmy od tego ze selecty sa mega szybkie i sa liczone w setkach sekundy. Baza danych jest w stanie utrzymac ogromna ilosc informacji i rowniez szybko potrafi je wyciagnac.

Tak samo lagowanie przez strone, jest to mozliwe ale nie przez baze danych, trzymajac F5 na highscores nie zlaguje servera, tak samo jesli w bazie jest 100k rekordow czy 500k rekordow co i tak rzadko sie zdarza jesli chodzi o OT. Przedzej juz bym utrzymal lagowanie gdyby bylo duzo ciezkich plikow i wiele jego sciagniec w tym samym czasie. Kiedys byly lagi na serverach, za czasow YourOTS kiedy to rzadko byly servery dedykowane uzywane, teraz macie te swoje i7 extreme, 24gb RAM i sie przejmujecie ze macie 100k rekordow w bazie danych, paranoja. A ze TFS sie rozlacza z tego powodu to na to juz nic nie poradze.

Dobra, zatrzymam juz ten benchmark. Statystyki:
w tabeli numer 1: 32729544
w tabeli numer 2: 1280713
w tabeli numer:3: 1280713

Przeliczenie: 1 row affected, taking 0.2ms
 
Tak samo lagowanie przez strone, jest to mozliwe ale nie przez baze danych, trzymajac F5 na highscores nie zlaguje servera,

To jest sprawdzone empirycznie, jak widac wielu tego doswiadczylo, ale przeciez w teori musi dzialac c`nie?
 
@paxton

Ty chyba się wczoraj urodziłeś, chcesz zlagować MySQL takim zapytaniem? w00t
W takim razie się nie dziwie, że nigdy ci nie zlagowało.


Rozumiem ze robisz tylko inserty, dodaj do tego jeszcze selecta przeszukujacego po jakims polu ( najlepiej jakims char ) przed kazdym insertem, bo przeciez sprawdzamy za kazdym razem czy nie ma juz playera o takiej nazwie. Nie bedzie juz raczej tak pieknie, pozatym scheduler na dekstopie dziala AFAIK inaczej niz ten serwerowy ( dlatego nie pozwala mysqlowi zabic maczyny ). Moga jeszcze IO nie wyrabiac na maszynie.

Przeczytaj to 500x, kup serwer w OVH czy gdziekolwiek, niech dojda ping pongi, zrób to na jakimś porządnym zapytaniu, a nie rozpierdalasz mi głowę takim gównem i nie opisuj mi swoich trudnych przeżyć z owocnej pracy z MySQL, jeśli jedyne co mogłeś kiedykolwiek zrobić to benchmark na localhost.
 
@paxton

Ty chyba się wczoraj urodziłeś, chcesz zlagować MySQL takim zapytaniem? w00t
W takim razie się nie dziwie, że nigdy ci nie zlagowało.




Przeczytaj to 500x, kup serwer w OVH czy gdziekolwiek, niech dojda ping pongi, zrób to na jakimś porządnym zapytaniu, a nie rozpierdalasz mi głowę takim gównem i nie opisuj mi swoich trudnych przeżyć z owocnej pracy z MySQL, jeśli jedyne co mogłeś kiedykolwiek zrobić to benchmark na localhost.

Co ty pierdolisz, tym prostym benchmarkiem odpowiedzialem na twoja teorie ze swiezy server MySQL nie utrzyma kilku milionow recordow co to ma wspolnego z OT?

Ale jesli juz chodzi o lagowanie, to to co napisal koob, sugerujesz ze selecty moga zlagowac? Taki select zajmuje 0.001-0.003 sekundy a insert jest o wiele ciezszy.

Dajmy na to ze bylem w stanie dac 2000 insertow do bazy danych na sekunde, co rownalo by sie ok. 5000 selectom ale liczmy na insertach. Jesli kazda z postaci robi 10 zapytan do bazy w co watpie, to musial bys tworzyc 200 postaci na sekunde abys dobiegl do mnie.

I teraz nie pierdol mi ze dasz rade zrobic 200 postaci na sekunde uzywajac cURL jeszcze w dodatku nie z localhosta. Z tego co napisales wnioskujesz ze probowalem zlagowac MySQL? Nie, tylko probowalem obalic twoja teorie co do ilosci rekordow. Jesli chcesz sobie zlagowac MySQL to walnij sobie benchmark 100000x z md5() albo encode(). Nikt tu nic nie mowil o tym ze chce zlagowac OT.
 
Ale jesli juz chodzi o lagowanie, to to co napisal koob, sugerujesz ze selecty moga zlagowac? Taki select zajmuje 0.001-0.003 sekundy a insert jest o wiele ciezszy.

Jezeli Twoj test mial pokazac tylko ile mozna zrobic insertow/s to ok, jezeli mial symulowac produkcyjnego OTSa to mozna sie nim podetrzec.
Jaki silnik miales na tych tabelach MyISAM czy InnoDB ?
 
Status
Not open for further replies.
Back
Top