FAQ |
Kalender |
![]() |
#1 | ||
|
|||
Nykomling
|
Hej,
jag har ett AJAX-script som kör var 5e sekund och uppdaterar en tabell. Med flera användare påfrestar detta servern ganska mycket. Jag har ändrat detta till ett AJAXscript som endast kollar om en uppdatering är nödvändig och i så fall uppdaterar tabellen genom ett nytt AJAX-anrop. Med Firebug ser jag att med första lösningen tar tabell-uppdateringen kanske ca 500ms. Med nya lösningen tar checken ca 400ms och sedan tabelluppdateringen endast 2ms. Det verkar alltså som om det är själva kopplingen mot servern som tar tid, inte hämtningen av data. Det andra scriptet anropas inom det första om uppdatering är nödvändig. Innebär detta att kopplingen till servern redan är där, därav det snabba svaret? Andra frågan är om det finns någon möjlighet att med AJAX hålla en koppling mot servern för att slippa kopplingen så ofta. Vore väldigt tacksam om någon har en lösning eller uppslag. Hälsningar, Pontus. |
||
![]() |
![]() |
![]() |
#2 | ||
|
|||
Har WN som tidsfördriv
|
Kika lite på Comet, kanske kan vara en lösning du efterfrågar?
http://en.wikipedia.org/wiki/Comet_(programming) |
||
![]() |
![]() |
![]() |
#3 | ||
|
|||
Medlem
|
Jag har funderat på ett liknande problem men ännu inte skapat en "lösning" för detta, men jag har funderat på att använda information om bland annat hur många anrop som sker vid ett givet tillfälle och vad svarstiderna är och låta ajax-klienten anpassa sina uppdateringar efter detta.
Exempel: Mitt anropsskript mäter upp att min server blir slö vid 50 anrop per sekund. Om jag nu har 70 anrop per sekund så skickar jag info med varje anrop att uppdateringsintervallen skall vara minst (70/40) sekunder, dvs antalet anrop nu delat med det antal som jag vet att servern klarar per sekund med en liten marginal. Efterhand som antalet anrop ökar så får klienterna information om detta och anpassar uppdateringsintervallet. Samtidigt mäter klienterna svarstiden från anrop till att svaret har kommit till klienten. Detta värde skickas till servern vid nästa anrop och ligger till grund för beräkning av uppdateringsintervallen som nämns i stycket ovan. Tänker jag rätt? |
||
![]() |
![]() |
![]() |
#4 | ||
|
|||
Bara ett inlägg till!
|
Citat:
Det blir minst trafik om du låter Webbservern skicka ut datan när det finns data att skicka ut, än att klienten "frågar" med jämna intervall. |
||
![]() |
![]() |
![]() |
#5 | ||
|
|||
Medlem
|
Citat:
|
||
![]() |
![]() |
![]() |
#6 | |||
|
||||
Bara ett inlägg till!
|
Citat:
|
|||
![]() |
![]() |
Svara |
|
|