Avatar billede pulsar Nybegynder
16. juni 2003 - 21:32 Der er 11 kommentarer og
2 løsninger

Client/server performance

Jeg vil gerne høre lidt om performance i forbindelse med client/server.

Hvad koster et netværkskald ca.?(i tid)

Hvad koster det at oprette et objekt?

Hvor meget har størrelsen på et objekt at sige ?
(ved netværkskald)

Hvilke performancemæssige ting skal man generel tage højde for?
Avatar billede arne_v Ekspert
16. juni 2003 - 21:56 #1
Det var nogle lidt brede spørgsmål.

Det er ikke muligt at svare på hvad et netværks-kald koster. Det
afhænger af netværket (56K modem - 100 Mbit LAN), typen af kald
etc..

Det koster lidt at oprette et objekt og lidt at garbage collecte et
objekt. Med stor ssandsynelighed er netværket en større flaskehald
en objekt creation/GC.

Større objekter vil tage længere tid end små objekter at overføre
over nettet.

Det vigtigste er normalt at få den rigtige send/receive protokol
mellem client og server og at få den rigtige thread logik på server.
Avatar billede arne_v Ekspert
16. juni 2003 - 22:19 #2
Prøv evt. at uddyb lidt mere hvilken information du søger.
Avatar billede pulsar Nybegynder
17. juni 2003 - 08:23 #3
det var ikke så meget "tiden" jeg var interesseret i.
Det var mere hvad det ene kostede i forhold til det andet.
(som du også har beskrevet)

Jeg regnede også med at selve netværkskaldet var noget at det dyreste.
Avatar billede arne_v Ekspert
17. juni 2003 - 09:26 #4
Det er meget svært at sammenligne netværks-forbindelser der
afhænger af meange faktorer med object creation/GC som også
afhænger af mange faktorer.

Jeg vil formode at i mange (realistiske tilfælde) vil
netværks-forbindelser måles i hundreder eller tusinder per sekund
mens objekt creation/GC vil måles i hundredetusinder eller
millioner per sekund.

Hvoraf jeg vil tillade mig at postulere, at der er en faktor
i størrelsesorden 1000 til forskel.
Avatar billede arne_v Ekspert
17. juni 2003 - 09:26 #5
Og der er stadigvæk ret mange antagelser involveret.
Avatar billede mcskelle Nybegynder
17. juni 2003 - 18:11 #6
Jeg har nu oplevet at men sagtens kan lave sig et object der tager laaaaang tid at lave. Men hvad der definere lang, er afhængig af sagen.

Som arne_v er lidt inde på, så er f.eks. thread-logikken på serversiden afgørende vigtig at få optimeret.
eks: Jeg vil mene at man SNILDT kan miste en indkommende forbindelse fordi man bruger for lang tid på at gøre det man nu skal gøre for hver enkelt indkommende bruger. Det kunne f.eks være at lave en thread med et brugerobjekt der lige skal have parset et socket object etc. Bingo: denial of service!

Man skal reelt set skal have en vis ide om sin trakfik, og en endog MEGET god ide om sin applikations features, før noget af alt det her tids/performance-halløj giver mening, så regn med at Java er hurtigt nok hvis du koder tingene almindeligt fornuftigt;-)
Avatar billede mcskelle Nybegynder
17. juni 2003 - 18:18 #7
Jeg glemte helt at skrive, at man jo sagtens kan have en client/server-struktur, der ikke benytter sig af 'kald' som jeg forstår DU forstår kald. Man kan jo istedet fra serveren henvende sig til alle brugere samtidigt vha. en eller anden multicast-struktur.
Avatar billede pulsar Nybegynder
17. juni 2003 - 19:15 #8
mcskelle:
smid et svar
Avatar billede pulsar Nybegynder
21. juni 2003 - 19:24 #9
mcskelle:
smid et svar....
Avatar billede mcskelle Nybegynder
22. juni 2003 - 03:50 #10
hvad er det jeg skal skrive mere?
Avatar billede arne_v Ekspert
22. juni 2003 - 12:20 #11
Jeg tror bare at han vil have dig til at smide et svar istedetfor
en kommentar.

Ellers kan han ikke give dig point !
Avatar billede mcskelle Nybegynder
22. juni 2003 - 13:00 #12
her er så et svar...
Avatar billede pulsar Nybegynder
22. juni 2003 - 13:32 #13
jeg takker
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