Avatar billede lone_a_p Praktikant
09. maj 2011 - 19:59 Der 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'

Håber på hjælp.

Mvh Lone
Avatar billede kjeldsted Novice
09. maj 2011 - 20:12 #1
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.
Avatar billede kjeldsted Novice
09. maj 2011 - 20:14 #2
Men desuden. Husker du at lukke for mysql forbindelsen når du er færdig på siden?
Avatar billede lone_a_p Praktikant
09. maj 2011 - 20:32 #3
Jeg har desværre ikke så meget mere information.

Jeg lukker ikke mysql forbindelsen, når jeg er færdig. Jeg synes, at jeg har læst, at den selv lukker når scriptet lukker?
Avatar billede lone_a_p Praktikant
09. maj 2011 - 20:35 #4
der er både en

mysql_close() og mysql_free_result() som jeg har kigget på?

Jeg bruger ikke nogle af dem, så måske det er der den ligger?
Avatar billede kjeldsted Novice
09. maj 2011 - 20:47 #5
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.
Avatar billede lone_a_p Praktikant
09. maj 2011 - 22:26 #6
Tak - det forsøger jeg som det første.

Vil du give et svar til point? :)
Avatar billede kjeldsted Novice
09. maj 2011 - 22:54 #7
Næ. Vil jeg ikke ;)

Synes ikke den indsats fortjener noget som helst. Og held og lykke med det.
Avatar billede repox Seniormester
10. maj 2011 - 09:18 #8
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...
Avatar billede lone_a_p Praktikant
14. maj 2011 - 03:04 #9
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å.

Så det er på vej i den rigtige retning igen :)
Avatar billede lone_a_p Praktikant
22. maj 2011 - 15:16 #10
lukker

Løsningen var en masse delproblemer med indexes, ikke korrekt anvendte tabeller osv :-/

Det virkede på den gamle måde, bare ikke godt!

Men det er nu på vej til bedring med ovennævnte + close osv. :)
Avatar billede lone_a_p Praktikant
05. juni 2011 - 13:24 #11
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å :)
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