Likes Likes:  0
Resultaten 1 tot 15 van de 16
Pagina 1 van de 2 1 2 LaatsteLaatste
  1. #1
    Mysql op meerdere CPU's
    geregistreerd gebruiker
    16 Berichten
    Ingeschreven
    08/01/09

    Locatie
    Amersfoort

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: nee
    KvK nummer: nvt
    Ondernemingsnummer: nvt

    Thread Starter

    Mysql op meerdere CPU's

    Hallo,

    Ik draai op dit moment mysql 5 64 bits op windows 2003 64 bits.
    De server is voorzien van 2 quad core processors en 8 GB RAM.
    Ik heb thread concurrency op 20 gezet.
    Maar toch gebruikt de Server alleen core 4 en core 8.

    Heeft iemand een idee hoe we dit kunnen optimaliseren?

    Groeten Bert



  2. #2
    Mysql op meerdere CPU's
    Programmeur / Hoster
    3.952 Berichten
    Ingeschreven
    20/06/06

    Locatie
    Wijlre

    Post Thanks / Like
    Mentioned
    28 Post(s)
    Tagged
    0 Thread(s)
    647 Berichten zijn liked


    Naam: John Timmer
    Bedrijf: SystemDeveloper.NL
    Functie: Eigenaar
    URL: www.systemdeveloper.nl
    KvK nummer: 14083066
    View johntimmer's profile on LinkedIn

    De server is dan wel multithreaded maar de client connecties worden door een single thread afgehandeld. Als je dus queries over 1 connectie verstuurt, zal maar 1 core per proc gebruikt worden. Zodra je meer connecties hebt, zouden meer cores gebruikt moeten worden (als je config ok is).
    SystemDeveloper.NL - 64BitsWebhosting.EU : Softwareontwikkeling & Hosting freaks

  3. #3
    Mysql op meerdere CPU's
    geregistreerd gebruiker
    16 Berichten
    Ingeschreven
    08/01/09

    Locatie
    Amersfoort

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: nee
    KvK nummer: nvt
    Ondernemingsnummer: nvt

    Thread Starter
    Bedankt voor je reactie.

    Zijn er dan bepaalde instellingen waar ik op moet letten voor de configuratie om MySQL over meerdere processoren te laten verlopen?

  4. #4
    Mysql op meerdere CPU's
    Programmeur / Hoster
    3.952 Berichten
    Ingeschreven
    20/06/06

    Locatie
    Wijlre

    Post Thanks / Like
    Mentioned
    28 Post(s)
    Tagged
    0 Thread(s)
    647 Berichten zijn liked


    Naam: John Timmer
    Bedrijf: SystemDeveloper.NL
    Functie: Eigenaar
    URL: www.systemdeveloper.nl
    KvK nummer: 14083066
    View johntimmer's profile on LinkedIn

    Citaat Oorspronkelijk geplaatst door Zideo Bekijk Berichten
    Bedankt voor je reactie.

    Zijn er dan bepaalde instellingen waar ik op moet letten voor de configuratie om MySQL over meerdere processoren te laten verlopen?
    Die zullen wel ok zijn anders zou het niet op core 4 en 8 draaien.
    Overigens zijn er 3 dingen die echt van belang zijn voor een database:
    - beter 1 proc van 3 ghz dan 2 van 2 ghz.
    - hoe sneller de disk, hoe sneller je db (eerste bottleneck op een geoptimaliseerde db is meestal de schijf.
    - meer geheugen kan helpen, maar je moet eerst goed uitzoeken of meer geheugen uberhaupt gaat helpen. Een 'foute' query kan je amper sneller maken door er hardware tegenaan te smijten tenslotte.
    SystemDeveloper.NL - 64BitsWebhosting.EU : Softwareontwikkeling & Hosting freaks

  5. #5
    Mysql op meerdere CPU's
    geregistreerd gebruiker
    16 Berichten
    Ingeschreven
    08/01/09

    Locatie
    Amersfoort

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: nee
    KvK nummer: nvt
    Ondernemingsnummer: nvt

    Thread Starter
    We draaien op een HP dl360 net 2 x een QuadCore xeon 5335 processor 2Ghz.
    De database staat op een losse 15k sas schijvenset in een raid1 configuratie (dus apart van het OS)

    Lijkt me op zich een solide configuratie voor den dedicated database systeem. De queries zijn verder geoptimaliseerd, en met slow query log wordt bijgehouden waar de bottlenecks zitten qua sql.

    Maar met welke instellingen kan dit gewijzigd worden.. Met thread concurrency mocht ik volgens my.ini 2x het aantal cores opgeven. Maar toch wordt alsnog alleen core 4 en 8 gebruikt...

  6. #6
    Mysql op meerdere CPU's
    Programmeur / Hoster
    3.952 Berichten
    Ingeschreven
    20/06/06

    Locatie
    Wijlre

    Post Thanks / Like
    Mentioned
    28 Post(s)
    Tagged
    0 Thread(s)
    647 Berichten zijn liked


    Naam: John Timmer
    Bedrijf: SystemDeveloper.NL
    Functie: Eigenaar
    URL: www.systemdeveloper.nl
    KvK nummer: 14083066
    View johntimmer's profile on LinkedIn

    Als freebsd dude heeft een quadcore voor mij meestal maar 1 doel op een db server: het sneller kunnen rebuilden van mysql (al zal dat op een windows bak niet zo gemakkelijk zijn).

    Maar het gebruiken van 1 core, al is het op 99%, terwijl de rest idle draait, is onder linux geween een keuze van de scheduler. Switchen tussen cores kost overhead, net zoals switches tussen threads, als de kernel denkt dat het proces beter af is op 1 core, dan draait het op 1 core. Is 1 core (4) niet genoeg, dan is de volgende core aan de beurt (bij voorkeur een core (8) op een andere processor).. etc.
    Dus, of een hogere load veroorzaken, of meer connecties die parallel queries uitvoeren.
    Het is dus echt niet dan een specifieke query sneller draait op een quad core of zo.

    Deels van bovenstaande zal wellicht ook op windows van toepassing zijn.
    Dus settings zul je niet zo naar hoeven te kijken, denk ik. Gewoon harder op zijn flikker geven dat ding

    NB: Als je ter test 10000 dezelfde queries stuurt dan kun je nog met andere dingen te maken krijgen die je performance verknallen. table-locks, query-cache, exponentieel oplopen van temptables, swappen van index data indien de buffers niet toereikend zijn meer, etc.

    <sting>Kan ook zijn dat windoos die andere 6 cores nodig heeft om zichzelf in de lucht te houden...</sting>
    SystemDeveloper.NL - 64BitsWebhosting.EU : Softwareontwikkeling & Hosting freaks

  7. #7
    Mysql op meerdere CPU's
    geregistreerd gebruiker
    16 Berichten
    Ingeschreven
    08/01/09

    Locatie
    Amersfoort

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: nee
    KvK nummer: nvt
    Ondernemingsnummer: nvt

    Thread Starter
    Het klinkt heel begrijpelijk... Misschien is de server wel beter af om de threads in 2 cores te laden... Immers de cores worden ook nog maar voor 40% gebruikt... dat is 10% van de 8 cores...

    Zijn er verder nog windows mensen die hier ervaring mee hebben? Of moet een mysql server het gewoon niet zwaar hebben qua processor load?

  8. #8
    Mysql op meerdere CPU's
    Software Development
    700 Berichten
    Ingeschreven
    20/04/03

    Locatie
    Haarlem

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: nee
    KvK nummer: nvt
    Ondernemingsnummer: nvt

    Database servers hebben vaker meer baat met Snellere schijven en veel geheugen dan veel CPU capaciteit.

    Het geheugen bereik kan je instellen in de config van mysql hoeveel deze mag gebruiken.
    Als de server enkel voor Mysql draait kan je die gerust op 80% van je totaal geheugen zetten.

  9. #9
    Mysql op meerdere CPU's
    geregistreerd gebruiker
    16 Berichten
    Ingeschreven
    08/01/09

    Locatie
    Amersfoort

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: nee
    KvK nummer: nvt
    Ondernemingsnummer: nvt

    Thread Starter
    Welke Geheugeninstellingen zijn dan het belangrijkst?
    Er staan tal van geheugen instellingen in MySQL

  10. #10
    Mysql op meerdere CPU's
    Software Development
    700 Berichten
    Ingeschreven
    20/04/03

    Locatie
    Haarlem

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: nee
    KvK nummer: nvt
    Ondernemingsnummer: nvt

    Dit zijn de meest belangrijke geheugen instellingen:

    max_heap_table_size
    tmp_table_size
    table_cache
    query_cache_size
    key_buffer

    Het beste is om deze op te zoeken in de manual van mysql en de juiste settings te plaatsen.

  11. #11
    Mysql op meerdere CPU's
    geregistreerd gebruiker
    16 Berichten
    Ingeschreven
    08/01/09

    Locatie
    Amersfoort

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: nee
    KvK nummer: nvt
    Ondernemingsnummer: nvt

    Thread Starter
    Ik heb gekeken in de mysql manual maar de precieze samenhang van alle instellingen kon ik er ook niet echt uithalen. Ik denk dat dit een kwestie van ervaring is... Misschien kan je me een beetje op wel helpen.. Ik draai nu dus op een 6gb server en mijn windows task manager staat continu op 5.7 GB..

    max_heap_table_size
    De max Heap table size komt nu niet in mijn my.ini voor... Ik zag hem wel in de andere my.ini voorbeelden staan in mijn mysql map. Waar is deze waarde precies voor? En welke waarde kan je het beste instellen als je de ini setting toe zou voegen aan je my.ini?

    tmp_table_size
    Mijn tmp_table_size staat op :: 256M

    table_cache
    Mijn table_cache staat op :: 1520

    query_cache_size
    Mijn query_cache_size staat op 700M

    key_buffer
    Mijn key buffer size staat op ::=700M

  12. #12
    Mysql op meerdere CPU's
    Software Development
    700 Berichten
    Ingeschreven
    20/04/03

    Locatie
    Haarlem

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: nee
    KvK nummer: nvt
    Ondernemingsnummer: nvt

    max_heap_table_size = 2048M
    tmp_table_size = 512M
    table_cache = 8k

    Je query_cache_size & key_buffer zijn veelste hoog.

    query_cache_size = 2M
    key_buffer = 4M

    Zijn groot genoeg.

    Hier kan je al veel preformance uithalen.
    Voor linux is er ook een tuning programma die het e.e.a nakijkt, ik weet niet of deze er ook voor windows is.

  13. #13
    Mysql op meerdere CPU's
    geregistreerd gebruiker
    16 Berichten
    Ingeschreven
    08/01/09

    Locatie
    Amersfoort

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: nee
    KvK nummer: nvt
    Ondernemingsnummer: nvt

    Thread Starter
    Wat is dan precies dat max_heap_table_size? Deze staat nu gewoon helemaal niet in mijn my.ini...

    Hoe heet trouwens dat tuning programma?

    Groeten Bert

  14. #14
    Mysql op meerdere CPU's
    Programmeur / Hoster
    3.952 Berichten
    Ingeschreven
    20/06/06

    Locatie
    Wijlre

    Post Thanks / Like
    Mentioned
    28 Post(s)
    Tagged
    0 Thread(s)
    647 Berichten zijn liked


    Naam: John Timmer
    Bedrijf: SystemDeveloper.NL
    Functie: Eigenaar
    URL: www.systemdeveloper.nl
    KvK nummer: 14083066
    View johntimmer's profile on LinkedIn

    mysqltuner: http://www.howtoforge.com/tuning-mys...ith-mysqltuner

    Default heb je een aantal configs zoals my-large.cnf, my-huge.cnf die een basis config hebben voor servers met een bepaalde hoeveelheid ram. Met 1 van die zou je kunnen beginnen.
    Daarna moet je om de paar dagen eens bovenstaand scriptje draaien en kijken of er nog tips uitkomen. Hier even uitleggen hoe alle settings zich tot elkaar verhouden is ondoenlijk, want daar worden complete boeken over geschreven.

    max_heap geeft aan hoeveel de mysql engine aan geheugen mag gebruiken. Dit moet dus per definitie hoger staan dan je tmp_table_size. Je kunt die gelijk aan elkaar maken, maar je moet er een beetje mee spelen afhankelijk van het aantal temptables dat daadwerkelijk wordt gemaakt op de server en je hoeveelheid geheugen.

    table_cache is een waarde die een aantal filehandles reserveert en indien die waarde hoog genoeg is, zal mysql niet telkens je tabellen fysiek moeten openen, flushen en sluiten. Kun je dus redelijk performance mee halen, maar als je hem te hoog zet, verspil je geheugen.

    query_cache_size en limit heeft helemaal geen optimale settings. Deze params zorgen ervoor dat bepaalde mysqlqueries gecached kunnen worden en bij een herhaalde aanroep niet meer opnieuw gecompileerd/geoptimaliseerd hoeven te worden. Bepaalde queries kunnen gewoon niet gecached worden, andere wel weer. Speel ermee, totdat je zo zoveel mogelijk cacheble queries daarin krijgt. Hoe beter gevuld, hoe hoger de performance.

    De keybuffer geeft aan hoeveel ruimte er gebruikt word om indexen te cachen. Als je indexgrootte van je tabellen bv. 200mb, dan zet je key_buffer ook op 200 mb. Na een paar dagen (of een goede mysql-slap) kun je kijken in hoeverre je keybuffer gevuld is. Probeer hier een vulling van tegen de 100% te krijgen. Als indexen helemaal in je geheugen zitten, spaar je een zooi disk io.

    mysql tunen gaat niet 'snel' en is zeer afhankelijk van je database gebruik door je applicaties. Je moet regelmatig checken (in principe) of het nog wel allemaal goed is, aangezien in de loop van de tijd ook je tabellen, indexen, e.d. veranderen.
    SystemDeveloper.NL - 64BitsWebhosting.EU : Softwareontwikkeling & Hosting freaks

  15. #15
    Mysql op meerdere CPU's
    uh?
    715 Berichten
    Ingeschreven
    27/04/05

    Locatie
    Den Haag

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: nee
    KvK nummer: 27295404
    Ondernemingsnummer: nvt

    Je zou meerdere instances van memcached kunnen gebruiken. Gebruikt voornamelijk RAM, en is sneller. Zo heb je iig meer gebruik van je server, MySQL zelf zal er niet over meer cores over gaan draaien helaas.

Pagina 1 van de 2 1 2 LaatsteLaatste

Labels voor dit Bericht

Webhostingtalk.nl

Contact

  • Rokin 113-115
  • 1012 KP, Amsterdam
  • Nederland
  • Contact
© Copyright 2001-2021 Webhostingtalk.nl.
Web Statistics