WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Chatt (https://www.wn.se/forum/showthread.php?t=31390)

WeaZear 2008-08-24 19:24

Hej!

Jag har en chatt på en av mina hemsidor som uppdateras via ett AJAX script 1 gång varje sekund. Det ser väldigt bra ut, och flyter bra. Dock till min fråga, om jag har 100 medlemmar online, så kommer ju sidan uppdateras 100gång / sek, tror ni det kan få min server att lagga?

Har en VPS hos Glesys, STANDARD paketet. Har haft 50 medlemmar online samtidigt utan att servern har gått segt. Så tror ni den klarar av 100? Samt hur mycket trafik tror ni det skulle dra? Har 300 GB överföring / mån.

Och tror ni att servern inte håller måttet och att jag kanske borde leta efter en annan lösning, i så fall vad? Har kollat lite på java och flash. Dock är jag ingen stjärna inom dessa områden.

Tacksam för svar!

eliasson 2008-08-24 21:04

Såndär lösning vill du verkligen inte ha.
En bra lösning är att använda sig av "Comet"-tekniken, där servern pushar ut informationen till dig.

Ett annat alternativ är att man skapar en anslutning mot servern, där anslutningen är ihållande, och servern retunerar något så fort det är någon ny data, och därmed skickar iväg informationen.
När då klienten behandlat den nya datan, så skapas en ny anslutning mot servern som väntar på ny information.

Problemet med ovanstående lösning är att man kommer köra en ihållande anslutning, och kör man då t ex apache så skapar den en tråd per anslutning.
När man då kommer upp i MaxThreads, så kan man då inte ta emot mer anslutningar, och man kan då inte ens logga in på sidan.

En lösning på det problemet är ju bara att köra någon extern httpd (t ex: https://chat.domain.se) vars uppgift är att köra ihållande anslutningar och som kan hålla i många threads, där inte det fyller upp halsen på den riktiga sidan.

Lycka till.

emilv 2008-08-25 07:48

Citat:

Originally posted by eliasson@Aug 24 2008, 21:04
En lösning på det problemet är ju bara att köra någon extern httpd (t ex: https://chat.domain.se) vars uppgift är att köra ihållande anslutningar och som kan hålla i många threads, där inte det fyller upp halsen på den riktiga sidan.
En ännu bättre lösning är kanske att köra en riktig chattserver? På Ungdomar.se har de en egenkodad enkel chattserver där kommunikationen sköts av Flash (eller egentligen är det bara socket-anslutningehn som sköts av Flash, protokollet sköts av JavaScript). Jag gillar inte Flash i normalfallet, men lösningen är ändå betydligt snyggare än alla fulhack med HTTP.

eliasson 2008-08-26 13:57

Citat:

Ursprungligen postat av emilv
Citat:

Ursprungligen postat av eliasson
En lösning på det problemet är ju bara att köra någon extern httpd (t ex: https://chat.domain.se) vars uppgift är att köra ihållande anslutningar och som kan hålla i många threads, där inte det fyller upp halsen på den riktiga sidan.

En ännu bättre lösning är kanske att köra en riktig chattserver? På Ungdomar.se har de en egenkodad enkel chattserver där kommunikationen sköts av Flash (eller egentligen är det bara socket-anslutningehn som sköts av Flash, protokollet sköts av JavaScript). Jag gillar inte Flash i normalfallet, men lösningen är ändå betydligt snyggare än alla fulhack med HTTP.

Visst är skräddarsydda lösningar oftast helt klart bättre, men problemet kan bli kompabiliteten. I ditt exempel så är Macromedia Flash är inte installerat på alla datorer, men Javascript finns i samtliga webbläsare, och därav anser jag inte att en flash-lösning är något vinnande i detta fallet.

WeaZear 2008-08-26 14:25

Får se om jag kan komma till en lösning, tog bort AJAX scriptet så länge. Chatten uppdateras ju så fort man uppdaterar sidan så...


Alla tider är GMT +2. Klockan är nu 07:05.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson