FAQ |
Kalender |
![]() |
#1 | ||
|
|||
Nykomling
|
Har en webbserver med ca 1000 personer online hela tiden. Det är mycket bilder på sidan - community med bildarkiv. De flesta är små 5-30k.
Senaste tiden har den börjat gå trögare och trögare trots mer och mer optimerad kod. Det verkar inte vara CPU:n som är överbelastad eftersom den sällan går högre än 40%. Det verkar helt klart vara hårddiskarna som arbetar för mycket med att hämta upp bilder till IIS. (sajten har ca 1.5 miljoner bilder - 70GB bilder) Så, jag har läst lite om vilka inställningar som finns att göra för att förbättra IIS cachning av bilder mm. Detta har gett lite resultat men forfarande verkar något vara fel. PROBLEM: När jag kör performance monitor och bevakar "Web Service Cache - Current Files Cached" så ser det ut som att webservern med jämna mellanrum "släpper" alla cachade filer den har i RAM och "börjar om". Se http://www.nattstad.se/perfmon.gif Titta gärna på mina IIS inställningar i regedit: http://www.nattstad.se/regedit.gif Om ni omedelbart ser nåt fel i regedit eller har några tips på hur jag kan hitta orsaken till att IIS släpper det den cachat så är jag mycket tacksam för tips! Konfiguration (på ett ungefär): Dedikerad 3Ghz server 2 GB Ram *1.2 Gb är avsatt till SQL-servern. RAID 1 SQL server 2000. IIS6.0 *http compression på Jag har aktiverat http 1.1 compression eftersom jag hade tillräckligt med CPU för att "ha råd" med detta. Jag har även compression på dynamiska ASP-filer. |
||
![]() |
![]() |
![]() |
#2 | ||
|
|||
Klarade millennium-buggen
|
Hur ser katalogstrukturen ut för filerna? Kan tänka mig att det inte är så poppis om du har extremt många filer i samma katalog..
|
||
![]() |
![]() |
![]() |
#3 | ||
|
|||
Nykomling
|
Skapar en ny mapp varje dag för bildarkiven. I varje ny mapp blir det ca 5000-6000 bilder.
|
||
![]() |
![]() |
![]() |
#4 | ||
|
|||
Nykomling
|
lade upp en ny skärmdump på perfmon. Där ser ni 2 cache-dippar och 2 disk-peakar.. så där håller den på hela tiden..
![]() http://www.nattstad.se/perfmon2.gif |
||
![]() |
![]() |
![]() |
#5 | ||
|
|||
Nykomling
|
Citat:
Ok, du har alltså 800 MB över som webbserver, filcache och övriga systemet ska dela på? Det blir inte mycket möjlighet att cacha 70 GB bilder där inte. Till detta har du två diskar i en RAID1 array som systemet också delar på? Dessutom kanske det skrivs systemloggar, sessioner och annan random I/O. Varje gång en bild requestas och inte ligger i cache krävs förfrågan mot disk. Att filcachen minskar mot noll är tydliga symptom på att systemet har minnesbrist. När inte diskarna hänger med alla bildförfrågningar sprider detta ut sig genom hela systemet, alla processer måste vänta på I/O och troligen slår antalet IIS-klient i taket - dessa äter massa minne och tar detta först från filcachen. När minnet är i stort sett slut börjar systemet swappa. Nu står allting stilla -> inga nya förfrågningar på bilder och sen släpper proppen tillfälligt. |
||
![]() |
![]() |
![]() |
#6 | ||
|
|||
Klarade millennium-buggen
|
Håller helt och hållet med Crotalus.
Ett tips: Separera jobbet på 3st maskiner: 1) En styck SQL Server (2GB minne) 2) Webserver (512MB - 1GB minne) 3) Bildserver (2GB minne till cache) Detta lär öka prestandan, plus att du ökar livslängden på dina diskar. |
||
![]() |
![]() |
![]() |
#7 | ||
|
|||
Nykomling
|
Hmm... Så kort och gott säger ni att servern e för klen och att det inte är så mycket att göra?
Nu har jag iaf beställt en ny dedikerad webbserver med bättre prestanda. Inte 3 som Jonas rekommenderade eftersom budgeten är lite för begränsad än så länge.. ![]() Vad tror ni om nedanstående konfig för samma sajt: 2* xeon 3GHz processorer Raid1: 2*36Gb SCSI (15k) för OS Raid5: 4*146Gb SCSI (15k) för SQL, IIS och backup. 6 Gb RAM Om något i ovanstående config skulle kunna bli flaskhals så hojta! Nästa steg får väl bli 3 separata datorer som Jonas föreslog. (Är dock inte insatt i hur man sätter en separat IIS-server för bilderna och ger användarna på main-IIS maskinen tillgång till att spara filer på Bild-IIS:en..? vanlig utdelad nätverksmapp med skrivrättigheter?) /Kenneth |
||
![]() |
![]() |
![]() |
#8 | ||
|
|||
Klarade millennium-buggen
|
Citat:
1. Lokalt utdelad nätverksmapp (monterad som nätverksenhet). DOCK rekommenderar jag då att du ser till att ha den på ett internt IP så att inga utomstående kan komma åt! 2. FTP, du sköter överföringen via FTP. Gärna med ett kryptiskt användarnamn och långt och komplicerat lösenord. 3. Vidarbefodra användaren till servern för uppladdningen. Tex: Server 1 -> Uppladdning -> Server 2 -> Vidarbefodra tillbaka -> Server 1. |
||
![]() |
![]() |
Svara |
|
|