Avatar billede zeroaim Nybegynder
22. juni 2004 - 15:36 Der er 23 kommentarer og
2 løsninger

MANGE opdateringer af en side. Hvordan ? PHP, C#, Java ?

Hej Eksperter

Dette er for så vidt ikke rigtigt et konkret spørgsmål der findes ét rigtigt svar på (eller det tror jeg da ikke), men det er egentligt heller ikke så vigtigt for mig, som det er at jeg får nogle idéer og noget information om hvordan jeg bør gribe mit "lille" problem an. Dette besværlig gør selvfølgelig uddelingen af point, så derfor har jeg sat 200 på, som jeg så vil forsøge at fordele, på de svar der ligesom har hjulpet mig mest med at få tankerne i gang. Og der er flere point hvor de kommer fra :-)

Og nu til mit problem.

Jeg skal ha' lavet en hjemmeside som konstant opdaterer nogle, for mine kunder, MEGET vigtige oplysninger. Det drejer sig om forskellige kurser, køb/salg af værdipapirer, investeringspuljer osv.. Altså nogle ting som i bogstaveligste forstand skifter sekund for sekund. Det er i sig selv ikke noget problem, det kan jeg klarer med PHP og en MySql DB og så bare lade lade siden reloade hvert sekund (det formoder jeg i hvert fald, har dog ikke lige prøvet det). Problemet består i, at jeg har flere tusinde kunder som har behov for denne side, og det resulterer sandsynligvis i, at et sted imellem 500 og flere tusind kan finde på at have denne side konstant åbnet i dag timerne. Siden kommer IKKE til at indeholde en masse billeder, flash osv. det bliver ren tekst (HTML/CSS), men jeg er alligevel bage for, at en eventuel internet udbyder ikke vil bryde sig ret meget om de mange request hans server vil kunne blive udsat for. Jeg ved selvfølgelig slet ikke om det er noget jeg behøver at bekymrer mig om, så det vil jeg lade være mit første spørgsmål. Kan dette blive et problem for serveren ??? Det jeg nu har gjort er så, at jeg har kastet mig over C# fordi jeg tænkte, at der må løsningen da findes :-), men som situationen står lige nu, så er jeg jo ikke kommet meget længere end "Hello world" (jo det er jeg meeeen), så jeg har altså ikke lige umiddelbart fået løsningen foræret :-). Hvordan bør sådan en "side" bygges op ??? Jeg har tænkt en del på noget med at få serveren til at pushe de specifikke oplysninger hver enkelt bruger har anmodet om ud til deres browser, men jeg har ikke rigtigt kunne finde nogle steder at læse ret meget om denne løsning,"hvordan det evt. skulle gøres", "om det er en god idé", "om det hjælper serveren", "om det kan gøres med C# " osv. osv.. Er det den vej ??? eller skal vi over i noget helt andet ??? Hjælp !!! :-)

Jeg håber på en masse gode indlæg, som kan få mig på rette spor med det her projekt (som jo nok egentligt ligger noget udenfor min liga :-) men det er ikke en "haste" sag, så det tager den tid det tager)

Med venlig hilsen
Henrik
Avatar billede deadmez Nybegynder
22. juni 2004 - 15:40 #1
jeg ville nok forsøge mig med noget asp og java....
Avatar billede deadmez Nybegynder
22. juni 2004 - 15:40 #2
og selvf. en mysql database..
Avatar billede bundgaard Nybegynder
22. juni 2004 - 15:48 #3
deadmez > nu har han jo skrevet at han vil bruge PHP og MySQL. Derudover er jeg ikke sikker på at ASP og MySQL har det alt for godt sammen.

zeroaim > Hvis vi siger du har 2000 hits pr sekund 8 timer om dagen er det 57 millioner sidevisninger om dagen.. det er altså mange :D Er du helt sikker på, at det skal laves på den måde?
Avatar billede zeroaim Nybegynder
22. juni 2004 - 15:53 #4
Jeg ved ikke hvor mange hits der vil blive (det kan jeg jo af gode grunde ikke endnu :-) ), men der er et MEGET stort potentiale, så det kan blive uhyggeligt mange.

Jeg er på ingen måde fastlåst på PHP eller noget andet for dens sags skyld. Men hvis det skal være i et sprog som ASP eller PHP så vælger jeg selvfølgelig PHP da jeg kender det. Men jeg tænker som sagt også på C# (ASP.NET) eller hvad der nu er det rigtige.
Avatar billede deadmez Nybegynder
22. juni 2004 - 15:54 #5
bundgaard > hvad ved jeg..... det var bare et forslag... jeg har da en chat der kører asp som samarbejder udemærket med min mysql.... men det må jo så bare være noget jeg har set forkert..... *not*

57 millioner sidevisninger..... damn..... det er jo næsten mere end børsen har på en uge
Avatar billede bundgaard Nybegynder
22. juni 2004 - 15:55 #6
Rent teoretisk set, så burde MySQL og PHP da kunne klare det. Men, det kræver en pænt ond databaseserver hehe :)

Men jeg kender intet til C# desværre, så der kan jeg ikke rigtig hjælpe dig.
Avatar billede bundgaard Nybegynder
22. juni 2004 - 15:56 #7
deadmez > Jamen det kører da sikkert fint sammen, men jeg er ret sikker på, at ASP og MSSQL har det bedre sammen, ligesom PHP og MySQL. Men det er en anden diskussion og ikke noget, vi skal fylde hans spørgsmål med.
Avatar billede roenving Novice
22. juni 2004 - 16:02 #8
Jeg ville kigge mig efter noget, som kunne installere en klient i kundernes browsere, som ville kunne oprette en forbindelse, for de mylliarder af hits kan hurtigt blive et problem for en hvilkensomhelst udbyder, så det grundlæggende i at 'pushe' vil klart være det mindst ressource-krævende ...

Alternativet vil nok være, at have profiler for hver eneste kunde, og så kun sende de nødvendige oplysninger, hvis der er behov for det, så svaret på en request (f.eks. en skjult iframe !-) koster mindst muligt på transmissions-delen, det kunne lige klippe toppen af problemet med udbyderen ...

-- men det vil jo så også betyde, at serveren skal køre på højtryk, når den skal finde ud af, hvilke data, som skal sendes, den modsatte ide kunne være lige så fremgangsrig, da serveren så bare kunne sende _alle_ data, men fladt, og så installere en javascript- eller f.eks. java-ting, som kun viser de data, som kunden vil have ...

Resultatet af det vil være en stor datamængde udsendt fra din server, men principielt sendes det samme til alle kunder, så serveren skal kun processere autenciteringen og vedligeholde oplysningerne, så den slipper billigt i forhold til klient-mængden !-)
Avatar billede zeroaim Nybegynder
22. juni 2004 - 16:02 #9
Nu nævner du lige en chat. Hmmm.... Det kan vel i grundlæggende terori ikke være meget værre at få det her op at kører, end en chat der har 1000 eller flere brugere på samme tid.
Avatar billede arne_v Ekspert
22. juni 2004 - 16:05 #10
Du kan godt glemme alt om at køre den slags app på et web hotel.

Det vil kræve dedikerede servere.

Et antal små billigere web servere og en stor og dyr database server.
Avatar billede arne_v Ekspert
22. juni 2004 - 16:10 #11
Det afgørende er skalerbarheden. Hvordan sikrer du dig at du kan have din
applikation kørende transparent på flere app-servere.

Hvis requestene er kontekst frie, så er det ikke noget problem. Det kan
ordnes med en almindelig load balancer.

Men hvis der er kontekst så skal du bruge noget session replikering.

Som hovedregel:

ingen login eller login info med hver request => kontekst fri

login en gang => kontekst
Avatar billede arne_v Ekspert
22. juni 2004 - 16:12 #12
roenving har helt ret i at en push løsning til en client app kunne laves
meget mere effektiv.

Men jeg vil tillade mig at formode at løsningen skal anvendes af firmaer
og mange firmaer tillader ikke sådanne socket connections.
Avatar billede zeroaim Nybegynder
22. juni 2004 - 16:15 #13
roenving --> Det første du foreslår der, det forstår jeg som noget med en Java app. eller noget og så skal serveren pushe til den ??? Kan det samme laves med C# ? Også en idé du har der med at serveren hele tiden sender de samme oplysninger til alle. Det lyder da til (for mine utrænede ører) at det ville hjælpe en del !

Arne_v --> Okay. Men hvis vi så antager at det bliver indkøbt, har du så nogle idéer til hvad den bedste løsning ville være ?
Avatar billede zeroaim Nybegynder
22. juni 2004 - 16:16 #14
Hehe.. Jeg læser/skriver for langsomt til det her... Sry :-)
Avatar billede roenving Novice
22. juni 2004 - 16:18 #15
RE arne_v 16:12:21

-- måske kunne de netop til dette etablere en dedikeret forbindelse ?-)
Avatar billede arne_v Ekspert
22. juni 2004 - 16:21 #16
roenving>

Jeg tror at det vil være nemmere at løse konflikten mellem israelere og
palæstinenseere end at få MIS til at lukke op for en port i corporate
firewall ...
Avatar billede zeroaim Nybegynder
22. juni 2004 - 16:24 #17
K... Jeg er ude hvor jeg ikke kan bunde her, men så må jeg jo tage det med. Så må jeg jo lære !!!

Men som deadmez nævnede tidliger, hvorfor er det her så, så forskelligt fra en chat med mange brugere ? Dem er der vel mange af derude formoder jeg ? Og de skal jo også opdaterer hver enkelt bruger specifikt med de oplysninger hver enketl bruger har brug for og også "hvert sekund".
Avatar billede arne_v Ekspert
22. juni 2004 - 16:26 #18
zeroaim>

Med hensyn til software, så skal du bruge:

A)  en database
B)  en web app

Med hensyn til A, så er mit gæt udfra det du fortæller at det er ret små data
mængder d.v.s. at det er muligt at cache data i web app og f.eks. kun hente
fra DB 10-20 gange i sekundet. Hvis det er rigtigt så kan du bruge stort set
enhver database inkl. MySQL. Men Oracle er da en god database, hvis penge
ikke er et problem.


Med hensyn til B (web app), så vil sige at ved kontekst fri så er det ligegyldigt.
PHP er fint, ASP.NET er fint, JSP er fint. Hvis der skal kontekst på så
ved jeg ikke hvad PHP og ASP.NET har af features. Jeg ved at JSP har
de nødvendige features til session replikation.
Avatar billede roenving Novice
22. juni 2004 - 16:27 #19
De fleste udbydere vil også forlange betaling efter båndbredde-forbrug på en pull-chat ...
Avatar billede arne_v Ekspert
22. juni 2004 - 16:28 #20
Langt de fleste chatter som skal bruges af mange brugere benytter
push teknologi.

Da chat typisk bruges privat, hvor der typisk ikke er restriktioner på
udgående porte, så er det sjældent et problem.
Avatar billede zeroaim Nybegynder
22. juni 2004 - 16:51 #21
Okay. Jeg har fået en masse gode idéer og information her indtil videre. Det er super. Og tusind tak for det. Bliv endelig ved med at komme med gode/dårlige forslag og idéer :-). Mere eller mindre konkrete. Jeg suger det hele til mig og diskuterer det igennem med folkene hernede (Bulgarien).

Og så skal i selvfølgelig endelig smide nogle svar, så jeg kan fordele nogle point.
Avatar billede arne_v Ekspert
22. juni 2004 - 16:55 #22
svar
Avatar billede roenving Novice
22. juni 2004 - 16:57 #23
Velbekomme '-)

Håber du fik noget, du kan bruge !-)
Avatar billede zeroaim Nybegynder
28. juni 2004 - 17:08 #24
Hejsa. Så fik jeg endelig Internet igen. Det er ikke lige altid jeg har det i det her land :-) , men vi må da håbe det bliver bedre... Men jeg fik lige smidt lidt point ud til jer, som tak for hjælpen. Jeg har nu rodet noget med det her, og talt det noget igennem med folkene hernede, og dette har jo så desværre kun resulteret i endnu flere spørgsmål ;-) . Men jeg åbner et nyt spørgsmål (med nogle nye point, hehe) når jeg har noget lidt mere konkret. Håber i vil være ligeså gode til at deltage i de kommende spørgsmål. Takker for denne gang.

Mvh.
Henrik Madsen
Avatar billede roenving Novice
28. juni 2004 - 17:46 #25
-- og tak for point ;~}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester