|
Web Hosting, web serveri i operativni sistemi Komercijalni hosting, web serveri, bezbednost, operativni sistemi na serverima |
|
Alati teme | Način prikaza |
|
24. 07. 2007. | #1 |
Direktor Kombinata
Invented the damn thing
Datum učlanjenja: 07.06.2005
Poruke: 2.669
Hvala: 44
119 "Hvala" u 64 poruka
|
AJAX Chat - Koliko zahteva je previše zahteva?
Upravo završavamo Chat modul za novi activeCollab. U pitanju je manje više klasičan AJAX chat gde client strana šalje zahteve i pita server da li ima nešto novo. Ako server ćuti (prazan odgovor) nema ništa novo, ali server takođe može da pošalje niz komandi kojima se osvežavaju poruke, lista ljudi u sobi, fajlovi itd.
Fajl koji client strana pinguje je tako napravljen da se izvršava jako brzo - ne učtavaju se nikakve biblioteke i slične gluposti - čista konekcija na bazu, par jednostavnih upita i šibaj. Na mojoj dev mašini se zahtev izvšava za 9 - 25ms što je kontam OK. Nismo još probali na nekom hostu. Ono što mene zanima je koja učestalost slanja zahteva je najoptimalnija (trenutno smo setovali 1 zahtev na svaki sekund po korisniku)? Jeste imali iskustva sa sličnim stvarima? Kako hostovi reaguju na takve appove? I slična pitanja. Dakle - pretresanje koncepta uzduž i popreko. PS: Razlog zašto Ajax chat je zato što jedostavno radi. Nema prčkanja i petljanja, uvrnutih sistemskih zahteva i sličnih gluposti - uploaduješ i gruvaj.
__________________
activeCollab - Project Management and Collaboration Tool iz domaće kuhinje | area51.rs - Blog |
24. 07. 2007. | #2 |
Dejan Grujic
Professional
Datum učlanjenja: 29.09.2005
Poruke: 380
Hvala: 9
64 "Hvala" u 40 poruka
|
A koliko ce korisnika tu biti istovremeno? Od toga sve zavisi. Svaki od njih pikne bazu svake sekunde. AKo ih je 10-tak, nije mnogo strasno, ali za vise treba testirati.
Jedna varijanta je da se prebacuje stvari iz baze u memoriju. Druga varijanta je da predjes na push - ukratko ne salje klijent novi request svakih sekund, vec posalje samo jedan request, a server mu malo po malo vraca podatke ne zatvarajuci konekciju. Najlakse je ako zakljucis da ti ni ne treba dodatno zezanje, ipak ne pravis novi ICQ vec ce tu samo da se vrti par korisnika koji su trenutno u chatu. Ili je mozda zamisljeno da ceo dan drze otvorenu tu stranu? |
24. 07. 2007. | #3 |
Direktor Kombinata
Invented the damn thing
Datum učlanjenja: 07.06.2005
Poruke: 2.669
Hvala: 44
119 "Hvala" u 64 poruka
|
Jeste izmišljanje rupe u saksiji, ali za app kao što je activeCollab Chat modul stvarno vredi i vremena i truda i živaca.
Koliko sam ja razumeo, push zahteva uvek otovrenu HTTP konekciju i nije baš najjednostavniji za podešavanje.
__________________
activeCollab - Project Management and Collaboration Tool iz domaće kuhinje | area51.rs - Blog |
24. 07. 2007. | #4 |
Milan Cvejic
Wrote a book
|
Verovatno bi trebalo da drzish sve to u memoriji, i kada predje odredjeni broj linija ti to lepo upishesh u bazu... To je sto se brzine tice, inace manje od dve sekunde je preterivanje, tako da stavi da pravi request na svake dve sekunde. Potpuno je nepotrebno ceshce... A i verujem da sto se tice samog broja korisnika necesh imati nesto mnogo aktivnih na chatu nikada... ipak nije to javni IRC server...
__________________
http://weevify.com |
24. 07. 2007. | #5 |
profesionalac
Qualified
Datum učlanjenja: 10.02.2006
Poruke: 181
Hvala: 2
20 "Hvala" u 11 poruka
|
mozda nije lose da pogledas comet & friends, mada guglanje i nije dalo neke preterano ohrabrujuce rezultate ako zelis da se drzis samo php-a:
http://ajaxian.com/archives/new-chat...-and-prototype |
24. 07. 2007. | #6 |
Ivan Dilber
Sir Write-a-Lot
|
nema recepta za ovo, moras da uzmes i da izmeris:
a) koliko zahteva u sekundi moze server da podnese, a da se ne obore bitno perfomanse ostatka sajta/ova. Na osnovu ovog podatka i prosecnog broja zahteva na serveru u peak time-u videces koliko imas lufta za dodatni saobracaj. b) kakav je subjektivni utisak kad se chatuje sa raznim podesavanjima (0.5s, 1s, 2...). Nadjes neki maximum koji ne stvara utisak prevelikog laga kad pokusavas sa nekim da pricas preko neta (iz nekog mog ircerskog iskustva do 2 sekunde, preko toga je mucenje). I spremi se na to da ces morati da fine-tunujes ove parametre tokom rada, vec prema feedbacku koji dobijes i realnom opterecenju servera. Obavezno ugradi opciju da chat ne prihvata nove konekcije ako je ispunjen neki uslov (max. broj konekcija, server load poraste ili nesto trece sto smislis...)
__________________
Leadership is the art of getting people to want to do what you know must be done. |
24. 07. 2007. | #7 |
Dejan Katašić
Wrote a book
Datum učlanjenja: 10.06.2005
Lokacija: Novi Sad
Poruke: 1.017
Hvala: 129
86 "Hvala" u 43 poruka
|
Možeš i da koristiš produžavanje intervala u slučaju neaktivnosti. Odrediš donju i gornju granicu (recimo od jedne do 64 sekunde), postaviš na donju i dupliraš do prve aktivnosti ili do gornje granice... Prototype ima PeriodicalUpdater koji radi slično (mada ne vidim gornju granicu, a čini mi se nezgodno ostaviti je otvorenom).
|
24. 10. 2007. | #8 |
profesionalac
Qualified
|
prijatelj me danas uputio na ovaj chat visubox, pa overite, sigurno će te ga već negde ubaciti kada klijent bude tražio chat.
http://www.visubox.com/v05/dblog/ |
26. 10. 2007. | #9 |
Banned
Knowledge base
Datum učlanjenja: 01.07.2005
Poruke: 1.598
Hvala: 206
140 "Hvala" u 89 poruka
|
Skoro sam radio nesto slicno tome, odnosno periodicne ajax pozive.
Naime u projektu postoji dosta callbackova koji moraju biti verifikovani a za verifikaciju se moze cekati i po nekoliko min (u teoriji i po nekoliko sati). Radio sam periodicne pozive da bih proverio da li je neki od tih poziva vratio nekakvu poruku i to prikazao korisniku. Timer sam setovao na 2,5sec i to mi se cini kao nesto optimalno mada ne savrseno. Razloge za zabrinutost u tvom kao ni u mom slucaju ja ne bih trazio u servereskoj strani vec na klijentskoj. Kada sve zavrsis, odredis interval itd Pokusaj da pola sata ili sat vremena koristis browser i surfujes sa periodicnim updejterom otvorenim u jednom od tabova van fokusa. Ono sto se desi jeste da browser postaje nezamislivo trom, kolicina utrosene memorije skace exponencijalno. Ovo pricam za FF, Safari kao i IE. Kada god sam timer povecavao za 500ms vreme do ovakvog ponasanja browsera je postajalo duze ali se opet dogadjalo. Tek na setovanih 4sec simptomi su nestali... ipak 4sec je previse za ovakve potrebe. To je moje licno iskustvo, nadam se da ce ti kolko tolko pomoci. |
"Hvala" cvele za poruku: |
26. 10. 2007. | #10 |
Direktor Kombinata
Invented the damn thing
Datum učlanjenja: 07.06.2005
Poruke: 2.669
Hvala: 44
119 "Hvala" u 64 poruka
|
Da, u pravu si skroz. Imao sam dosta problema sa FF-om i tromošću dok smo radili na Chat modulu (tj. dok mi je non-stop bio otvoren).
Da li je još neko imao slična iskustva?
__________________
activeCollab - Project Management and Collaboration Tool iz domaće kuhinje | area51.rs - Blog |
|
|
Slične teme | ||||
Tema | Početna poruka teme | Forum | Odgovori | Poslednja poruka |
Otkazivanje adsl zahteva kod telekoma | phoenix | Opušteno | 30 | 11. 11. 2007. 18:27 |
Sporo usluživanje zahteva... | Ilija Studen | Web Hosting, web serveri i operativni sistemi | 27 | 02. 04. 2007. 21:26 |
Video chat module | robi-bobi | Web aplikacije, web servisi i software | 26 | 07. 11. 2006. 20:39 |
Ajax Mistakes a.k.a kad ne treba da koristite Ajax | nixa | Planiranje i usability | 7 | 13. 02. 2006. 17:20 |
2 sata ICQ chat-a | bluesman | Planiranje i usability | 7 | 19. 07. 2005. 14:13 |