Likes Likes:  0
Resultaten 1 tot 13 van de 13
Geen
  1. #1
    SQL performance verhogen
    geregistreerd gebruiker
    103 Berichten
    Ingeschreven
    13/03/05

    Locatie
    GEntoo

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


    Registrar SIDN: nee

    Thread Starter

    SQL performance verhogen

    Beste WHT'ers,

    Momenteel draai ik 3 colo DELL servers dedicated als MySQL(5) server met de nodige tweaks in my.cnf om er per machine ongeveer 2000 q/sec te halen. Deze machines draaien allemaal dezelfde DB schema's maar met inhoudelijk andere data.

    Echter zit ik momenteel met een uitdaging. Er moet een soort centrale tabel komen waar inserts (log) en selects (check log) op plaats vinden die vervolgens door alle machine's te raadplegen is. De verwachte query's zijn ongeveer 4000 q/sec op deze tabel, omvang 10-15M rows, 7-8 collommen (~3GB data).

    Er zou natuurlijk gewoon een tabel gemaakt kunnen worden met 3x mysql master-to-master specifiek op die tabel in sync blijft, echter met dit query volume vraag ik me af hoe het syncen van deze data voor impact heeft op de performance.

    Verder kan de select evt. nog komen te vervallen door een unique constraint en bij falen -> check log = false, en bij een succesvolle insert check log = true.

    Wie heeft er suggesties dit elegant op te lossen?

  2. #2
    SQL performance verhogen
    geregistreerd gebruiker
    17 Berichten
    Ingeschreven
    14/12/10

    Locatie
    Amsterdam

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


    Registrar SIDN: Ja
    KvK nummer: 14071154
    Ondernemingsnummer: nvt

    Kun je niet een vierde machine toevoegen en deze tabel van deze machine af draaien? Is dat mogelijk?

  3. #3
    SQL performance verhogen
    moderator
    4.784 Berichten
    Ingeschreven
    04/11/05

    Locatie
    Gent

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


    Registrar SIDN: ja
    KvK nummer: nvt
    Ondernemingsnummer: 0475284162

    als je de load wil spreiden kan je even kijken naar de mogelijkheden met sharding/partitioning.

  4. #4
    SQL performance verhogen
    geregistreerd gebruiker
    103 Berichten
    Ingeschreven
    13/03/05

    Locatie
    GEntoo

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


    Registrar SIDN: nee

    Thread Starter
    Ik heb al een mooie tool in elkaar gezet met mysql proxy + memcached + mysql replication die op de achtergrond sync-ed

  5. #5
    SQL performance verhogen
    3.810 Berichten
    Ingeschreven
    16/05/04

    Locatie
    Middelburg

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


    Registrar SIDN: Ja

    Ga je niet eerder tegen tabel locking aanlopen door de vele INSERT's? Is het MyISAM of InnoDB btw? Dan heb je table vs row-locking.

  6. #6
    SQL performance verhogen
    geregistreerd gebruiker
    103 Berichten
    Ingeschreven
    13/03/05

    Locatie
    GEntoo

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


    Registrar SIDN: nee

    Thread Starter
    MyISAM met INSERT DELAYED INTO. Code execution draait gewoon netjes door zonder te wachten op evt. table locking en mysql handeld de rest vrij snel/goed af.

  7. #7
    SQL performance verhogen
    Wijtec
    228 Berichten
    Ingeschreven
    15/08/04

    Locatie
    's-Gravenzande

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


    Registrar SIDN: nee
    KvK nummer: 27269292
    Ondernemingsnummer: nvt

    als het echt alleen inserts en select zijn zou je is moeten kijken naar de Archive Storage Engine http://dev.mysql.com/tech-resources/...ge-engine.html

  8. #8
    SQL performance verhogen
    geregistreerd gebruiker
    103 Berichten
    Ingeschreven
    13/03/05

    Locatie
    GEntoo

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


    Registrar SIDN: nee

    Thread Starter
    Citaat Oorspronkelijk geplaatst door PreServer Bekijk Berichten
    als het echt alleen inserts en select zijn zou je is moeten kijken naar de Archive Storage Engine http://dev.mysql.com/tech-resources/...ge-engine.html
    Goede tip, bedankt! Kan er alleen niet duidelijk aan op maken (hun doen table scan voorbeeld) of indexen dan nog zin heeft op de velden waar je de query op doet, lijkt mij namelijk wel nuttig... Weet jij dat toevallig?

    Update:

    We also talked about how Archive doesn't support indexes at this time:

    mysql> create index my_index on test_archive (client_transaction_id);
    ERROR 1069 (42000): Too many keys specified; max 0 keys allowed

    One special thing to note about Archive tables and indexes is that, if you want to alter another storage engine table to be an Archive table, you must first drop any indexes that have been defined on the table.
    Eens zien of dit op een tabel met 20-30M rows nog een beetje presteerd...



  9. #9
    SQL performance verhogen
    geregistreerd gebruiker
    103 Berichten
    Ingeschreven
    13/03/05

    Locatie
    GEntoo

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


    Registrar SIDN: nee

    Thread Starter
    Dat werkt dus totaal niet:

    CPU and IO utilization of the last 01 min: 41.00
    CPU and IO utilization of the last 05 min: 17.50
    CPU and IO utilization of the last 10 min: 6.80
    Geen auto increments en selects op die table onmogelijk traag. Ik hou het wel bij die geknutselde proxy + memcached

  10. #10
    SQL performance verhogen
    Ook U bent bij ons koning
    497 Berichten
    Ingeschreven
    30/11/06

    Locatie
    Linschoten

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


    KvK nummer: 30253206

    Is er een reden dat je dit per se in (My)SQL wil doen?
    Andere databases zijn voor deze performance meer geschikt en schalen ook nog beter (zoals mongodb, die is perfect voor logtabellen).

    Anders zou het zaak worden om zelf je primary key te generen (dmz nanoseconds). Dit om geen dubbele keys te genereren zodra 1 van de masters uit valt.

    Hou er ook rekening mee dat mysql-proxy heel instabiel word als je hier 6000+ p/s doorheen gooit.

    Ervaring?
    Neuhhh, voor een aantal sites doe ik tussen de 6 & 8000 q/s X 4 slaves + 1 master.
    De grootste bottlenek hierin zijn de HDD's en de queries zelf (index gebruik). Alle machines zijn uitgerust met minimaal 64GB aan geheugen om zoveel mogelijk indexen te kunnen cachen.

  11. #11
    SQL performance verhogen
    geregistreerd gebruiker
    103 Berichten
    Ingeschreven
    13/03/05

    Locatie
    GEntoo

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


    Registrar SIDN: nee

    Thread Starter
    Deels zo gegroeid, op de log tabellen worden vanuit PHP een aantal rapportages gedraaid voor het management.

    Zal eens een dev machine met mongodb uitrusten en zien of ik daar wat mee kan, verder zijn deze servers ook vrij redelijk, raid10 op 15k sas schijven en 32gb ram p/stuk memory.

    thanks voor de tip iig!

  12. #12
    SQL performance verhogen
    geregistreerd gebruiker
    1.080 Berichten
    Ingeschreven
    10/04/03

    Locatie
    Amsterdam

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


    Naam: Dreas van Donselaar
    Registrar SIDN: Ja
    Ondernemingsnummer: nvt
    TrustCloud: dreas

    Probeer ook eens MariaDB. Een MySQL fork, met een hoop zinvolle patches. Kan je gewoon je huidige MySQL mee vervangen.

  13. #13
    SQL performance verhogen
    Ook U bent bij ons koning
    497 Berichten
    Ingeschreven
    30/11/06

    Locatie
    Linschoten

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


    KvK nummer: 30253206

    Citaat Oorspronkelijk geplaatst door Dreas Bekijk Berichten
    Probeer ook eens MariaDB. Een MySQL fork, met een hoop zinvolle patches. Kan je gewoon je huidige MySQL mee vervangen.
    MySQL leent zich niet zo voor groot aantallen in queries.
    Er zitten nogal wat performance penalty's op het creëren en onderhouden van indexen en als je die niet gebruikt worden je penalty's nog groter.

Webhostingtalk.nl

Contact

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