19. februar 2009 - 14:43Der er
12 kommentarer og 1 løsning
MySQL server crasher.
Hej.
Jeg har en IIS server som fungere som Webserver og Database. Der bliver brugt ASP.NET og MySQL 5.1 på serveren.
MySQL får 10-15 forespørgseler i sekundet, men når belastningen er højst kan dette godt stige til ca. 30 i skundet.
På serveren er der en forespørgsel som tager 4-5 sekunder at udføre for serveren, men alle andre er mindre forespørgseler.
Problemet opstår når serveren har kørt i ca. en dags tid: Først begynder den store forespørgsel at give "MySqlException: Timeout expired". Men på trods af det kan fejlhåndteringen godt få lov til at sætte fejlen ind i databasen bagefter. Til sidst begynder selv små forspørgsler at give fejl.
Jeg har tjekket at det ikke var fordi at der for mange åbne connections og her er der som standard 40-50 stykker åbne og ca. 150 stk når der er knald på. Pt er den sat til at kunne have 800 connections.(hvilket nok er overkill)
Jeg har ikke ændret noget i opsætningen i my.ini filen, og det er sikkert her der skal ændres noget. Hvor og hvordan ved jeg ikke. Men når serveren kan køre en dags tid må det vel være noget memory leak af en eller anden slags?
Serveren har følgende specs:
4 x Xeon 2,0 Ghz 2 Gb ram.
Er der nogen der kan hjælpe mig med at forsøge at finde fejlen?
Teknologi, AI og forretning er i centrum på Computerworlds Cloud og AI Festival i København d. 18. og 19. september. Se hele programmet for den store konference om strategisk brug af Cloud og AI på: www.cloud-festival.dk
Da vi heletiden har brugere på siden, ville jeg meget nødigt forsøge at installere 5.0. Du mener ikke det kan havde noget at gøre med MySQL opsætningen?
Vi har en gang for lang tid siden har haft samme problem, med at databasen gik ned. Dengang brugte vi 4.0. Men problemet gik i sig selv igen uden vi rigtigt fandt nogen fejl. Men herefter vi er skiftet til ASP.NET og Mysql 5.1 + der er kommet noget mere trafik er problemet blusset op igen.
Det var på en test maskine at du skulle eksperiementere med version.
Jeg kan ikke udelukke at det er noget config.
Men indtil du har et test environment, hvor du kan genskabe fejlen og teste forskellige ændringer, er det jo rent gætteri og ændringer kan lige så nemt gøre det værre som bedre.
Synes godt om
Slettet bruger
31. marts 2009 - 14:00#7
Okay så er der lidt nyt. Forleden dag "kom jeg til" at genskabe problemet. En masse record skulle køres igennem i databasen, hver gang en record blev kørt igennem blev connectionen ikke lukket. Der resulterede i at jeg fik fejlen: "The timeout period elapsed prior to obtaining a connection from MySql.Data.MySqlClient.MySqlPool.GetConnection()", men hvis jeg kiggede på SHOW PROCESSLIST var der ikke specielt mange (20-30 stykker) Før man kunne connecte til databasen igen måtte jeg genstarte serveren.
Det kunne betyde at der måske er steder hvor connectionen ikke bliver lukket og det er derfor serveren crasher en gang imellem.
En ting jeg ikke forstår er hvorfor jeg ikke kan se flere connectionens med SHOW PROCESSLIST når siden er gået ned eller som da jeg kom til at genskabe problemet?
Synes godt om
Slettet bruger
26. august 2009 - 12:22#8
Smid et svar så vi kan få lukket.. Problemet er mere eller mindre gået i sig selv.
Hvorfor modtager jeg pludselig mails fra denne tråd?
Synes godt om
Slettet bruger
28. august 2009 - 10:04#11
Ja det er et meget godt spørgsmål :)
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.