ugrás a tartalomhoz

Konkurens XHR kérések száma maximum 1?

gabesz666 · 2011. Okt. 2. (V), 11.09
Sziasztok!

Egy oldalon dolgozom, ahol a belépett felhasznlót értesítenem kell, ha valami esemény történik vele kapcsolatban (az események itt most nem érdekesek). Első körben azzal próbálkoztam, hogy 5 mp-enként csináltam egy ajax hívást, ami visszaadja JSON formában az eseményeket. Ez ment is szépen, viszont rájöttem, hogy ez nagy user szám esetén elég komoly load-ot tud okozni a szerveren. A folyamatos hívás helyett a long polling technikára váltottam, azaz addig fut a hívásom, amíg nem keletkezik valami esemény a felhasználónál. A probléma viszont az, hogy amíg ez a request fut, addig a többi requestem csak várakozik. Valami szerver beállítási gond lesz, mert a facebook is hasonló elven működik (az oldalsó doboz frissítéseit long polling-al kéri le) és ott tök simán megy egyszerre 2 request. Egy teljesen alap apache2 telepítésem van (32 bites ubuntura felhúzva). Köszi a válaszokat!
 
1

szerializálás

janoszen · 2011. Okt. 2. (V), 11.40
Erre azt javaslom, hogy szerializáld az adatokat. Tehát találj ki mondjuk valami közös JSON formátumot, amibe mindenki bele tudja pakolni a saját cuccait (ld. Bigpipe) és úgy használd. Egyébként gyere el a Webkonfra és hallgasd meg Poetro és az én előadásomat. :)

Egyébként 2-t kéne tudnod használni, hacsak nem állítottad szinkron működésre a kódodat (ami nagyon nem javasolt).

Update: ha PHP-t használsz session kezeléssel, akkor azért nem megy a dolog, mert a default session kezelő lockolja a session filet. Tekintve, hogy nem szerencsés az, ha egymást fölülcsapkodják a sessionök, el kell gondolkoznod, hogy kerülöd meg ezt a problémát.
2

Köszi!

gabesz666 · 2011. Okt. 2. (V), 11.55
Köszi szépen, a session fájl lock volt a gond. Erre nem is gondoltam! :)