![]() |
På en hemsida jag har, har jag studerat hur ofta det inte går att ansluta till MySQL när en besökare besöker sidan. Det sker ganska ofta och mycket mer än jag mer eller mindre kan acceptera.
Nu undar jag bara om det finna några av er medlemmar på WN som har gjort någon liknande studie och kan säga om det är vanligt att anslutningen till databasen misslyckas på webbhotellen eller inte. Webbhotellen "skryter" ganska ofta om deras upptider och vid mätningar av typ IDG så mäter man ju i princip bara om man får svar vid ett anrop till en hemsida, men det mäts väl knappast om alla information kom fram. Har man en hemsida som ritar upp med hjälp av information från en databas och alla information inte ge till skriptet som ska rita sidan, så är det mer eller mindre inte en godkänd upptid enligt min mening. |
Misslyckade databasanslutningar kan enligt min erfarenhet oftast bero på två saker:
1) Överbelastad databasserver 2) Du har långsamma SQL-frågor Oftast är det en kombination av dessa, där du har en databasfråga som använder filesort och servern är belastad så att det är svårt att få tillgång att skriva till disk. Då kan databasfrågan ta evigheter att köra. Men det kan även finnas andra databasfrågor som segar ner, till exempel frågor mot dåligt indexerade tabeller och/eller SELECT-frågor ur gigantiska tabeller utan index. Jag vet inte hur de gör på andra webbhotell, men vi har en begränsning av hur många samtidiga anslutningar en användare får ha till databasen. Om denne då kör ovanligt långsamma frågor så kommer denna begränsning göra att skriptet aldrig får någon anslutning. Det står ett tag och väntar på att få en ledig anslutning, men när det gått tillräckligt lång tid ger det upp och skickar ett felmeddelande. Om vi inte skulle ha denna begränsning av antalet samtidiga anslutningar skulle vi ofta ha problem med användare som överbelastar hela servern och stör andra användare. Med den nuvarande ordningen sänker man på sin höjd sin egen sajt, inte någon annans. Alltså: Börja med att ta reda på vilka databasfrågor du har som tar lång tid. Kör dessa frågor själv fast med EXPLAIN framför så att du får en bild av vad som händer. försök också se om det finns något mönster i när du inte får anslutningar, till exempel om det är en viss tid. Kontakta också webbhotellet och fråga om de har någon aning. Skicka med underlag i form av databasfrågor, tider och liknande. Läs om hur du använder EXPLAIN här: http://dev.mysql.com/doc/refman/5.0/...g-explain.html |
Det kan bero på att databasservern inte ligger i localhost och anslutningen mellan databasservern och webbserver är för långsam eller överbelastad. Så klart kan det även bero på överbelastad databasserver eller helt enkelt dålig maskin.
Citat:
|
Enligt min erfarenhet ganska vanligt att databasen ibland blir överbelastad på webbhotell. Uptime tycks endast innebära att servern är igång och går att pinga (ganska ointressant om man har en databasberoende webbapplikation).
Jag misstänker att en del webbhotell har bättre ordning och en del sämre - och det beror förstås även på hur väl optimerade dina egna (och andras) sql-frågor är. Ett webbhotell med självaktning borde förstås övervaka databasbelastningen och antingen förbjuda intensiv/tung belastning eller bygga ut infrastrukturen för att motsvara behovet. |
Även onödiga DNS-uppslag hos mysql-servern gör att det går mycket långsamt. Inte ovanligt hos vissa webbhotell. Lätt att ändra i konfigureringen så att det går bort.
|
Jag får börja med att tacka er som har svarat i denna tråd då jag upplever era svar som bland de mest kvalitativa jag har läst på länge på WN (jag har ju inte läst alla trådar och svar på hela forumet)! Jag önskar att alla trådar kunde hålla en lika hög nivå.
Från det till mitt problem som jag tack vara svaren har fått en hum om var jag ska undersöka och börjar få ett grepp på det hela. Troligen beror problemet på begränsningar i antalet samtidiga unika förbindelser mot databasen där antalet skript som öppnar en förbindelse är för många samtidigt. |
Lite statistik från en databasserver som vill vara anonym:
Servertrafik: Dessa tabeller visar statistik för nätverkstrafiken hos denna MySQL-server sedan den startade. Trafik Tip ø per timme Mottagna 1 360 MiB 3 052 KiB Skickade 712 MiB 1 598 KiB Totalt 2 072 MiB 4 649 KiB Uppkopplingar ø per timme % Max. samtidiga förbindelser 93 --- --- Misslyckade försök 3 960 8,68 0,02% Avbrutna 7 819 17,13 0,05% Totalt 16 M 35,87 k 100,00% |
Magnus_A, riktigt så där bra har inte vissa sajter sett ut på Loopia. Sen om det beror på min sopiga kunskap i mySQL, Loopias servrar eller båda och låter jag vara osagt.
|
Det är inte Loopia...
Edit: Enkelt ta fram statistik själv via phpmyadmin. |
Alla tider är GMT +2. Klockan är nu 07:17. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson