![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 748 Pomógł: 388 Dołączył: 21.08.2009 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
Witam,
tworzę skrypt gry gdzie konieczne jest odświeżanie danych co 1s, zastanawiam się nad najbardziej wydajnym sposobem rozwiązania tego problemu, generalnie wymyśliłem 3 opcje: 1. wysyłanie zapytania do bazy przy pomocy skryptu php odpalanego przez jquery/ajax 2. wysyłanie zapytania do bazy dla wszystkich aktywnych rozgrywek przy pomocy CRON->zapis zserializowanej tablicy do pliku .txt ->odczyt pliku przy pomocy skryptu php odpalanego przez jquery/ajax 3. wysyłanie zapytania do bazy dla wszystkich rozgrywek przy pomocy CRON -> zapis do pliku xml -> parsowanie pliku przy pomocy jquery Pierwszą opcję odrzuciłem ponieważ obawiam się o problemy wydajnościowe przy większej liczbie użytkowników grających jednocześnie. Najbardziej odpowiednim wyborem wydaję mi się opcja nr 3, ponieważ przetwarzanie pliku odbywa się po stronie przeglądarki i nie obciąży to serwera. Jednak chciałbym prosić o opinię bardziej doświadczonych osób, ponieważ z plikami xml mam niewielkie doświadczenie. Nie proszę o żaden kod a jedynie o opinie odnośnie wydajności rozwiązań przy dużej liczbie użytkowników. Pozdrawiam i dziękuję za wszelkie wskazówki |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) ![]() ![]() |
Dla przykładu, ja mam możliwość oglądania innych graczy. Aby nie przeciążać bazy jak się ruszysz to wysyłąm pozycje (x,y) i zapisuje ją do memcache (każdego gracza). Przy zapisie odrazu zwracam pozycje innych graczy odczytane z memcache. Dodatkowo czas życia dałem 5 sec, więc przestój gracza (lag) może wynieś max 5 sec.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 8.10.2025 - 13:12 |