Avatar billede Mik2000 Professor
05. januar 2011 - 22:36 Der er 10 kommentarer og
1 løsning

Belastning af server

Hej

Jeg skal lave en side hvor der virkelig skal tænkes på belastning af serveren, da det er en meget lille server

Jeg skal derfor høre om:
1:
Hvad belaster server mindst:
- at hente/kalde 4 kolonner fra en tabel (Int 3)
- at hente kun en (varchar 24), hvor man efterfølgende skal bruge explode() og gemme værdier i 4 variabler.

2:
Hvilke ting skal man ellers være opmærksom på:
- Er der ting/funktioner man skal holde sig fra
- Er der nogle ting man kan gøre for at optimerer
- Er en måde at lave kald til database bedre end andre
osv osv

Alle forslag er velkomne - på forhånd tak
Avatar billede arne_v Ekspert
05. januar 2011 - 23:15 #1
re 1)

det foerste belaster database serveren en lille bitte smule mere

det andet belaster web serveren en lille bitte smule mere

begge effekter er formentligt aldeles ligegyldige

men faar du brug for nogle halv eller hel avancerede SQL saa vil det sidste database design totalt smadre database serveren, saa du boer absolut bruge det foerste database design
Avatar billede arne_v Ekspert
05. januar 2011 - 23:18 #2
re 2)

start med at sikre at din app virker korrekt og at sikkerheden er iorden - der er ikke meget sjov ved at dit site performer saa godt at hackerne kan komme ind super hurtigt

langt det vigtigste for database performance generelt er at faa de rigtige index paa tabellerne

naar du naar en vis trafik bliver det ogsaa vigtigt at kigge paa hvilke data du kan cache i app, saa du helt undgaar at ramme databasen
Avatar billede arne_v Ekspert
05. januar 2011 - 23:20 #3
Og undgaa

SELECT ... FROM ... WHERE ... felt LIKE '%xxx' ...

da den ikke kan udnytte index.
Avatar billede Mik2000 Professor
06. januar 2011 - 00:03 #4
Web og databaseserveren er den samme her.

Okay undgå LIKE eller hvad?

Cache - med sessions eller?

Ellers andre ting man kan gøre
Avatar billede arne_v Ekspert
06. januar 2011 - 01:06 #5
Undgå LIKE med noget hvor der er % som det første.
Avatar billede arne_v Ekspert
06. januar 2011 - 01:07 #6
Der er flere muligheder for cache.

Gemme data i session er en af dem.
Avatar billede intenz Novice
06. januar 2011 - 12:47 #7
Enig med arne_v's kommentarer.

Følg de generelle kodestandarder, og hav især fokus på opsætning af databasen, de kald du laver til den og antallet af dem. F.eks. lad være med at lave et loop med et database kald i, hvis du kunne have undgået det med et join, osv.

Men husk også at 'premature optimazation is the root of all evil'. Lad være med at lav små hacks som den du nævner i 1. Den slags giver typisk mere bøvl end fordele. Lav det på den måde der er mest logisk og mest fleksibel i forhold til dit behov.

Når sitet er færdigt/tæt på at være færdigt kan du nok se hvad der bør optimeres. I indledningsfasen er det kun gætværk, og det er nemt at bruge meget tid på små ting, i den tro at det betyder noget, selvom det måske ikke gør.
Avatar billede Mik2000 Professor
06. januar 2011 - 13:07 #8
Hej

Tak for kommentarerne

Har man så en eller anden måde hvorpå man kan måle bealstning eller tidsforbrug når man er færdig?
Avatar billede arne_v Ekspert
06. januar 2011 - 15:51 #9
Lav en lille load simulator som requester dine sider og se hvor mange du kan hente i minuttet.
Avatar billede Mik2000 Professor
11. februar 2011 - 10:39 #10
Tak for hjælpen. Hvis du smider et svar, smider jeg nogle point videre
Avatar billede arne_v Ekspert
11. februar 2011 - 14:26 #11
svar
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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