Citat:
Ursprungligen postat av gregoff
Mitt nuvarande projekt har ca 100.000 sidvisningar den senaste månaden vilket inte ens är i närheten för att få min vps hos glesys att börja höja pulsen, så för tillfället är jag "all set" ett tag framöver. Gissningsvis kan servern hantera det 10-dubbla eller mer innan det är dags för seriös optimering. Problemet med optimering under last är just lasten. Jag antar att man får köra en sluten test-miljö där man laddar diverse funktioner/sidor ett antal tusen gånger och mäter tiden emellan optimeringarna.
|
Ja, vill du göra det ordentligt behöver du en labbmiljö som är så lik livemiljön som möjligt som du kör testerna mot. När den är på plats kan du sätta upp "agents" som belastar sajten om det inte räcker med en enskild maskin. Du kommer behöva sätta upp mål, t.ex. att sajten alltid ska svara inom n sekunder, att CPU-belastningen inte går över en viss gräns etc eftersom man inte kan optimera kod i all oändlighet; nånstans når man en gräns för vad ens hårdvara klarar av.
De flesta lasttestningsprogram kan spela in scenarion/användarfall som man sedan spelar upp men förstärkt (simulerade användare). Det går att fejka väntetider, bandbredd, ordningen på scenariona etc. Ganska flexibelt som borde återspegla verkligheten ganska bra med andra ord. Man hookar upp "lyssnare"/grafer på vad man är intresserad av, t.ex. minnesförbrukning, CPU-användning, request/sec, antal köade requests, felsidor etc. Ser du någon sida som presterar dåligt kör du igång en profiler och tar reda på vad tusan som faktiskt tar tid, vilka metodanrop som roffar åt sig all prestanda. Fokusera på de stora problemen först.
Att vänta tills du har nästa stora grej tror jag inte på. För det första kanske man aldrig hittar något sånt projekt, sen om/när man väl är där har man kniven på strupen och kan inte analysera resultaten i lugn och ro. Långsiktigt bra beslut tar man oftast inte när man är stressad.