09. maj 2011 - 19:59Der er
10 kommentarer og 1 løsning
Kode æder RAM og lukker site
Kære eksperter,
Mit site går gang på gang ned efter en periode.
Jeg ved desværre ikke, hvilket script det er (evt. flere?). Der hvor jeg får hostet sitet, snakker han om, at det evt. har noget at gøre med at der er en query, der ikke bliver lukket? Uden at han dog er sikker på dette.
Jeg har nogle bestemte sites, der af og til har nogle meget store performancetider, hvilket jeg pt. er i gang med at forbedre, men der er stadig problemer.
Har I et bud på, hvad det kan skyldes?
Jeg får givet følgende fejl i koden: mysql_connect(): Host 'myserver' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'
Det kan være meget svært at fortælle hvad der kan være galt. Der kan vær ganske mange grunde til at et script opfører sig sådan. Men du må da vel vide hvilken side du åbner når det hele går ned?
Og mysql_connect(): Host 'myserver' is blocked because of many connection errors; betyder, som der jo også står, at mysql har retunere en meget stor mængde fejl, der betyder at den af sikkerhedsmæssige årsager lukker for forbindelsen. Så det kunne tyde på at der er ét eller andet script der bliver loadede utroligt mange gange, og som får databasen til at retunere en fejl.
Men det er jo selvsagt svært at fortælle hvad du skal gøre om blot med ovenstående infomation.
Altså man kan sige at der burde sagtnes kunne fungere uden. Men eftersom jeg kan forstå at der er tale om en hosted server ville jeg da anbefale at prøve at se om det ville kunne tage noget af belastningen.
Jeg kunne godt tænke mig at vide hvor du er hostet? Medmindre dit site er overrendt med besøgende, bør du ikke få en 'too many connections' fejl - medmindre du er påvirket af andre brugere på dit hostingmiljø. Og i så fald ville jeg da forlange en bedring af min service hos udbyderen...
Jeg er netop flyttet fra clichehosting til en virtuel server. Begge hostudbydere har klaget over problemet, og det er allerede blevet meget bedre efter fokus på at lukke større queries.
Jeg er nu ved at finde ud af hvornår man skal lukke, frigøre queries eller lade scriptet lukke selv. Ifølge nogle småtests er det ikke altid bedst at lukke queries - det er vist kun hvis de er store. Er der evt. nogle overordnede linjer at gå efter her? Altså hvornår man skal det ene eller andet?
Yderligere har jeg fundet at man i databasen kan gå ind i status, hvor der er nogle røde tal, som jeg også skal have kigget på.
Ok, nu har jeg vist fundet den egentlige løsning til problemet.
På det nye webhotel har de valgt at logge alle php-fejl - går ud fra at det gamle ikke gjorde det, siden det ikke har været et problem tidligere. Hver dag blev denne fil større og større og omkring midnat blev den tømt. Den kom op på temmelig mange MB, og har nok bare været sværere og sværere at skrive fejl til som dagen gik.
Jeg har i al fald en stabil memory usage graf i statistikken nu, hvor fejlene ikke bliver skrevet i :)
Samt fundet et par - dog ubetydelige - fejl/warnings :) Men betydelige når de konstant bliver skrevet til log-fil som bare bliver større og større.
Men tak til webhotellet - i fejlfindingsprocessen fik jeg fanget nogle andre vigtige ting også :)
Synes godt om
Ny brugerNybegynder
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.