27. august 2008 - 09:05Der er
13 kommentarer og 1 løsning
ADODB hænger grusomt
Hej alle,
Jeg står med en lille server med en god del hjemmesider på. De kører allesammen med ASP og hver deres Access database. Desværre hænger siderne utroligt meget, og jeg har fundet frem til at det er ADODB driveren der går kold i ny og næ, da jeg kan se på belastningen at det hverken er hardware i serveren der er gået i stykker eller IIS'en der er langsom.
Hvad i al verden kan jeg gøre? Det er ikke så sjovt, at mange af siderne laver en time-out flere gange om dagen... Kan jeg skifte connection type, opgradere min ADODB driver eller hvordan? :)
Jeg skal starte med at sige, at jeg ikke er servernørd, men har bare nogle emner som muligvis kunne have relevans.
Hvis flere sites hænger pga. ADODB, er det så fordi alle sites ligger i samme application pool? Hvis de lå i separate pools, ville problemer med én instans af ADO.DLL'en vel ikke påvirke de andre...(?)
Men ellers kunne jeg forestille mig at det ville være interessant at vide: - hvilken server du kører på - hvilken SP du har installeret - hvilken version af IIS du kører - hvilken version af MDAC du kører (og hvilken SP) - hvormange sites det konkret drejer sig om - hvilken konfiguration maskinen med serveren har (RAM, CPU)
Jeg har kun IIS 6.0 på min 2003 server, så om det er helt det samme som i IIS 7 (hvis du benytter den seneste version) ved jeg ikke.
Du kan dog prøve at åbne "Computer Management" (under Control Panel - Administrative Tools) og browse ned til "IIS Manager". Herunder kan du åbne "Application Pools" og se om der er oprettet flere af slagsen. Du kan klikke på den enkelte pool for at se hvilke sites der kører under den påg. pool. Hvis du vil oprette flere pools kan du bare gøre det herunder og derefter tildele de sites som skal ligge en den pågældende pool. Husk dog at hver pool vil fyre op under mindst 1 nye w3wp process (Worker Process til en app pool), så du skal nok være opmærksom på hvormange pools du får lavet og hvordan det påvirker hukommelsesforbruget på serveren! Du kan justere egenskaberne for de enkelte pools under Application Pools, men detaljerne for hvordan du kan og bør gøre må du nok forberede dig på at finde i hjælpen til IIS :-)
Jeg var bare interesseret i at høre om dine sites lå i sammen pool (hvilket lader til at være tilfældet), eller om de lå i flere pools. Min teori går jo ud på, at hvis et site giver problemer, så vil det i noget grad påvirke alle de andre sites i den samme pool - om det så er helt sandt er jeg usikker på, men du skulle måske overveje at splitte domænerne op i nogle flere pools (de kan godt have ens opsætning, men bare så du får lidt spredning af risikoen for ustabilitet).
En anden ting jeg synes at kunne huske er, at COM-objekter kan have problemer med at en pool "recycler" med et fast interval - det vil, under visse omstændigheder, trække tæppet væk under processen og måske resultere i ustabilitet. Om der så findes en god måde at få genopfrisket en worker process på, når man benytter COM-objekter, kan jeg ikke sige, men det er i det mindste godt nok at få den genopfriskt engang imellem. "Recycling" er bla. lavet for at mindske risikoen for ustabilitet (men vist mest med .NET i tankerne)...
Jeg kan varmt anbefale at du kigger lidt i hjælpen til IIS under bla. Application Pools, for du kan nok hente forslag til nogle tiltag der kan være med til at forbedre stabiliteten på din server...
Det der undrer mig er, at vi ikke før har haft problemer. Vores tidligere servere kører uden problemer, men på den her er der altså det her time-out problem på ADODB'en. Om det er fordi de sider vi har lagt på lige præcis dén server, kører i en mere resursekrævende skabelon end de tidligere, ved jeg ikke 100%, men noget kunne tyde på det. Er der noget der hedder max belastning på sådan en ADODB ting, eller er det bare konsekvensen af at den bliver brugt mere nu af siderne, som gør den bliver overbelastet? For i så fald kunne man måske overveje at fordele siderne ud på mere end én server..
Det er godt nok svært at fejlfinde på det her, error log fortæller os intet jo.. argh
Jeg ville personligt prøve at fordele sitene over en håndfuld pools og se om det havde nogen positiv effekt på stabiliteten og ellers få kontakt til en person som har forstand på serveropsætning og få denne til at kigge på konfigurationen... det kunne naturligvis også være der kigger en forbi her i tråden, som lige har svaret på hånden :-)
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.