[mysql] database opschonen / benchmarken

Pagina: 1
Acties:

  • TangLeFuzZ
  • Registratie: Juni 2001
  • Laatst online: 23-08 15:45
Goeiemorgen :)

We hebben sinds gisteren problemen met onze site, hij werd in de loop van de dag steeds trager tot hij op het laatst haast onbereikbaar werd.
Het leek geen aanval van buitenaf, het aantal connecties was niet erg groot.

We denken nu dat het een fout in de database is, maar in PHPMyAdmin loopt alles nog ok, browsen van de grotere tabellen die vaak aangevraagd worden (zoals users en postings) gaat normaal.

Is er nu een manier om er makkelijk achter te komen wat er precies mis gaat door te benchmarken op een of andere manier?

Nog een vraag: de gebruikers tabel stamt uit de tijd dat ik net met mysql begon en is daarna steeds uitgebreid, er zitten erg veel velden in die niet meer gebruikt worden.
Ik kan er achter komen welke niet gebruikt worden door met ultraedit m'n code door te gaan zoeken (forum en frontpage), maar ik vroeg me af of er misschien een manier is om te checken welke tabel velden de afgelopen xxx dagen niet zijn opgevraagd, is dat mogelijk?

  • TangLeFuzZ
  • Registratie: Juni 2001
  • Laatst online: 23-08 15:45
Om het nog even iets te verduidelijken, normaal komt iedereen binnen via forum.clubcharts.nl en clubcharts.nl, daar hebben we nu tijdelijk een Lite versie achter gegooid.

Als je naar ccmag.nl gaat kom je wel gewoon op de site terecht, die gebruiken we nu om te testen.

Hier kun je zien hoe traag het ineens gaat, als het goed is zitten er niet meer dan 5 lui tegelijk op het forum op dit moment:

http://forum.ccmag.nl

Probeer maar eens wat topics te bekijken, je zult merken dat het belachelijk sloom gaat.
Ik merk trouwens nu dat het 1 op de 5 keer wel snel gaat, nog vreemder...

Het is trouwens niet zo dat de hele database traag is, andere sites die op dezelfde server draaien zijn wel snel, en zoals ik al zei kan ik wel goed browsen in phpmyadmin.

[ Voor 6% gewijzigd door TangLeFuzZ op 23-01-2003 09:38 ]


  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Zijn je tabellen wel goed gedefineerd?
Index netje geplaatst, etc.?

Probeer eens te kijken waar het probleem vandaan komt, doormiddel van timers over het hele script te plaatsen. Ik gebruik daar het volgende script voor...

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
    class timer {

    function timer($name="default",$description="Start Counter") {
        $this->counter[$name]=1;
        $this->times[$name][$this->counter[$name]]=$this->get_time();
        $this->description[$name][$this->counter[$name]]=$description;
    }

    function mark($name="default",$description="Mark") {
        $this->counter[$name]++;
        $this->times[$name][$this->counter[$name]]=$this->get_time();
        $this->description[$name][$this->counter[$name]]=$description;
    }

    function get_time() {
          list($usec, $sec) = explode(" ",microtime());
           return ((float)$usec + (float)$sec);
    }

    function stop($name="default") {
        echo "<font color='#99CC99'>";
        for ($i=1;$i<=$this->counter[$name];$i++) {
            echo $i.":   ".$this->description[$name][$i].": ";
            if (isset($this->times[$name][$i-1])) {
                echo ($this->times[$name][$i]-$this->times[$name][$i-1]);
            }
            else {
                echo "START: ". $this->times[$name][$i];
                $start=$this->times[$name][$i];
            }
            echo "<br>";
        }
        echo "totaltime: ". ($this->times[$name][$this->counter[$name]] - $start);
    }

}

Programmer - an organism that turns coffee into software.


  • TangLeFuzZ
  • Registratie: Juni 2001
  • Laatst online: 23-08 15:45
Hmmm, ik krijg er een beetje een vreemd resultaat mee als ik de topic pagina opmeet:

1: Start Counter: START: 1043314781.8717
2: Mark: 0.0004349946975708
3: Mark: 0.016754031181335
4: Mark: 0.0013070106506348
5: Mark: 8.4996223449707E-05
6: Mark: 0.00301194190979
7: Mark: 0.00030100345611572
8: Mark: 5.805492401123E-05
9: Mark: 0.17285299301147
10: Mark: 0.00011003017425537
11: Mark: 0.0035309791564941
totaltime: 0.19844603538513

Kan iemand misschien uitleggen wat die E- getallen inhouden? (zijn die heel erg klein oid?)

[ Voor 12% gewijzigd door TangLeFuzZ op 23-01-2003 10:41 ]


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 12:28

Janoz

Moderator Devschuur®

!litemod

8.44E-05 == 8.44 x 10-5 == 0.0000844

Heel klein dus :+

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • TangLeFuzZ
  • Registratie: Juni 2001
  • Laatst online: 23-08 15:45
ok thanks :)

Lijkt me dat er met die resultaten niks mis is als ik het zo bekijk.
Ok, het zou sneller moeten, maar dit is ook nog het oude brakke forum :)

Wat ook vreemd is is dat het volgens mij nu weer sneller gaat...we gaan het zo maar weer 's proberen.

Verwijderd

Warning: Address is not a valid IPv4 or IPv6 address in /usr/home/clubcharts/sites/forum.clubcharts.nl/global.php on line 185

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Verwijderd schreef op 23 January 2003 @ 10:53:
Warning: Address is not a valid IPv4 or IPv6 address in /usr/home/clubcharts/sites/forum.clubcharts.nl/global.php on line 185
Maak je misschien gebruik van functie die een DNS query nodig hebben?
bv. gethostbyname of gethostbyaddr

Deze kunnen erg traag zijn, een beetje afhankelijk van de gebruikte DNS. Maar omdat je het hebt over dat soms snel of langzaam gaat + bovenstaande error :) . Kan duiden op een drukke DNS.

disclaimer:
Het blijft natuurlijk glazen bol werk.

Programmer - an organism that turns coffee into software.


  • RiCk
  • Registratie: Augustus 2000
  • Laatst online: 20-08 09:43
Hmm das ook een goeie tip.
Het probleem doet zich namelijk voor bij deze bepaalde domeinnamen.
Niet bij de andere domeinen op de server.

En www.clubcharts.nl & forum.clubcharts.nl hebben beide een ander IP dan de primaire IP van de server.

(btw; ik ben de 'collega' van Tangle...)

  • TangLeFuzZ
  • Registratie: Juni 2001
  • Laatst online: 23-08 15:45
We hebben het forum zostraks weer open gegooid, het leek even goed te gaan maar hij werd ineens weer erg traag, vandaar dat hij op dit moment weer alleen maar bereikbaar is op http://forum.ccmag.nl

Ik heb de link alleen naar bekenden toegestuurd om te testen of het daar wel goed gaat, stel dat er nu veel bekenden op zitten en het gaat goed, dan is het helemaal vreemd...

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Het blijft voor ons gokken wat het probleem zou kunnen zijn. Misschien kan je tijdelijk een extra tabel maken die de belangerijkste parse tijden in een db gooit zodat je kan zien waar de vertraging optreed.

Wij kunnen niets vanaf deze kant doen of zien. Daar hebben we echt veel meer info voor nodig.

Op zich hoeft de database geen problemen te geven, er zijn sites die met grotere (MySQL) database's werken.

Programmer - an organism that turns coffee into software.


  • Tranq
  • Registratie: Oktober 1999
  • Laatst online: 16-10-2024
Ik weet niet of je shell toegang hebt tot je servers. Maar misschien is het eens aardig om naar de load te kijken van je mysql deamon. Dan weet je gelijk of het aan het database ontwerp ligt.

Maar zoals jij aangaf dat het af en toe traag is zal het waarschijnlijk ergens in je code liggen, zoals hierboven al werd gemeld.

Succes met debuggen :)

  • TangLeFuzZ
  • Registratie: Juni 2001
  • Laatst online: 23-08 15:45
Klopt Lucard, heb je gelijk in...ik zal dat straks eens proberen trouwens.
Tranq schreef op 23 januari 2003 @ 13:14:
Ik weet niet of je shell toegang hebt tot je servers. Maar misschien is het eens aardig om naar de load te kijken van je mysql deamon. Dan weet je gelijk of het aan het database ontwerp ligt.

Maar zoals jij aangaf dat het af en toe traag is zal het waarschijnlijk ergens in je code liggen, zoals hierboven al werd gemeld.

Succes met debuggen :)
Het vreemde is dat ik al zo'n 4 weken niks meer aan de code heb veranderd, en ineens ging het gisteren mis.
Vandaar dat het me leek dat het niet aan de code lag.

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 20:30
Weet niet op wat voor server je draait, als het een eigen is zou je eens kunne kijken of je uodates hebt geinstalleerd oid?
Pagina: 1