[FreeBSD] + [MySQL] hoe nog verder versnellen?

Pagina: 1
Acties:

  • capedro
  • Registratie: Oktober 2000
  • Laatst online: 26-04 15:52
Halloa,

Op mijn werk ben ik bezig met een project waarbij we met een database werken met meer dan 2.100.000 records :P (de data in bytes is circa 2,1GB).

Voor dit doel hebben we een oud systeempje uit de 'kast' getrokken...
* Intel Pentium III 733Mhz / 133Mhz FSB;
* 256 MB Geheugen;
* 15 GB IDE Schijf (hierop staat de swappartitie en wat andere niet /usr zijnde spullen)
* 20 GB SCSI Schijf (dit is /usr)
* 100GB Arena RAID5 Bank (/usr/raid)

Dit is um dus:
Afbeeldingslocatie: http://www.adslweb.net/mysql-server-klein.jpg

De volgende software draait er op:
* FreeBSD 4.8 Stable
* MySQL 4.0.14
* wat andere dingetjes zoals uiteraard de SSH-Daemon.

De map /var/db/mysql heb ik gecopieerd naar: /usr/raid/mysql, maw de data van MySQL staat geheel op de RAID5 configuratie...

MySQL is via de ports geinstalleerd....

En nu het 'probleem'... als ik een query uitvoer doet ie er per query (ongeacht wat de query is) er bijna (op een paar seconden na) er 18 minuten over....

Mijn vraag is... hoe kan ik dit met software tweaks nog versnellen.......... Zelf had ik al de volgende in gedachte:
* FreeBSD Kernel helemaal optimaliseren voor de i686 architectuur.......

Anyone else?????? O-)

My weblog


  • moto-moi
  • Registratie: Juli 2001
  • Laatst online: 09-06-2011

moto-moi

Ja, ik haat jou ook :w

Tsja, wat gebeurt er tijdens die query ? Gaat 'ie swappen o.i.d. ?
In ieder geval is het verstandig om je kernel zoveel mogelijk te strippen van onnodig speelgoed. Ook kun je mysql nog hercompileren voor je processor, mocht je dat nog niet gedaan hebben.
Verder kun je ook naar de opbouw van je database kijken, qua indexen. En als laatste naar je query zelf.

God, root, what is difference? | Talga Vassternich | IBM zuigt


  • RampeStamp
  • Registratie: Maart 2001
  • Laatst online: 22-04 16:16

RampeStamp

Pannekoek!

En uiteraard de goede MySQL config gebruiken (.cnf files). BIj de ports zijn er een paar geleverd, voor klein, middel en grote databases. Dan moet je de grote pakken uiteraard.

Moet je wel op letten dat deze ervan uitgaat dat je 512 MB intern geheugen hebt.

Heb je bij de ports ook alle belangrijke opties meegegeven (innoDB als je die gebruikt e.d.) ?

Have fun in live and you will survive!


  • Infern0
  • Registratie: September 2000
  • Laatst online: 16-03 23:51

Infern0

Hou die ontzettende rust!!

Compile je mysql met threads, zoals hier vermeld wordt:
http://jeremy.zawodny.com/blog/archives/000697.html
Yahoo heeft er goede ervaringen mee en ik zelf ook geen problemen ondervonden tot op heden.

Hier nog wat kleine tweaks:
http://www.freebsdhowtos.com/99.html

http://www.bsdfreaks.nl Home site: http://rob.lensen.nu /me was RobL


  • capedro
  • Registratie: Oktober 2000
  • Laatst online: 26-04 15:52
ok ppl thnx voor de reacties..... ik ga het a.s dinsdag proberen... zodra mijn vakantie er weer op zit :'(

My weblog


  • Wilke
  • Registratie: December 2000
  • Laatst online: 07:48
Die 18 minuten lijkt op meer problemen te duiden dan alleen hardware, maar om eens ergens te beginnen: 256 MB geheugen!?

Stap 1: koop de maximum hoeveelheid geheugen die die bak aankan en plaats dat er in. Een gigabyte lijkt me een goed begin voor een dergelijke database-server.

Verder: wat voor database zit er in, wat is het database schema? Wat voor query voer je uit, en bestaat er wel een index op de velden waarop je joint? Ik kan me nl. voorstellen dat een sequentieele search van een DB van 2 GB die niet geheel in het geheugen past wel een kwartiertje gaat duren idd.....

  • arikkert
  • Registratie: Juli 2002
  • Laatst online: 17-02 12:23
dit is een echte mysql specifieke vraag, die je denk ik beter in een mysql forum kan posten.
database management is vak apart. misschien dat je wat met indexering kan doen.
ik heb overigens mbv http://members.lycos.nl/megafoon/foon/news.html cdfoon in een mysql database geladen en die heeft ook miljoenen records maar geeft toch na enkele seconden het resultaat, terwijl de hardware waar het op draait minder is dan jij hebt.
NB dit geldt dus niet voor elke query maar alleen voor de standaard queries. Daar zullen wel indexen op gezet zijn, neem ik aan.

[ Voor 14% gewijzigd door arikkert op 20-08-2003 16:20 . Reden: niet elke query ]


  • capedro
  • Registratie: Oktober 2000
  • Laatst online: 26-04 15:52
Wilke schreef op 20 August 2003 @ 15:30:
Die 18 minuten lijkt op meer problemen te duiden dan alleen hardware, maar om eens ergens te beginnen: 256 MB geheugen!?

Stap 1: koop de maximum hoeveelheid geheugen die die bak aankan en plaats dat er in. Een gigabyte lijkt me een goed begin voor een dergelijke database-server.

Verder: wat voor database zit er in, wat is het database schema? Wat voor query voer je uit, en bestaat er wel een index op de velden waarop je joint? Ik kan me nl. voorstellen dat een sequentieele search van een DB van 2 GB die niet geheel in het geheugen past wel een kwartiertje gaat duren idd.....
Ik ben ook al bezig om een rapportage te schrijven voor een beter systeem e.d... maar goed... er is nu eenmaal een baas die over de centen gaat... :| Als het aan mij had gelegen had ik gelijk iets leukers gepakt met 2 processoren....

My weblog

Pagina: 1