mixmastertobsi: MYSQL Server-Konfiguration

Hallo Zusammen!

Ich suche eine Anleitung, bzw. ein paar Tipps, wie ich meinen MySql Server optimieren kann (speziell die my.ini).
Der MySQL Server läuft auf Windows, weshalb ich leider auch keine Tuning-Skripte verwenden kann.

Über jeden Tipp wäre ich dankbar.

Tobias

  1. Moin

    Ich suche eine Anleitung, bzw. ein paar Tipps, wie ich meinen MySql Server optimieren kann (speziell die my.ini).

    Normalerweise sind bereits vorkonfigurierte alternative Versionen der Ini im MySQL Paket mit drin. Damit kannst du eigentlich schon wunderbare Ergebnisse erzielen.

    Ansonsten empfielt sich immer wieder (da eine gute Dokumentation) http://dev.mysql.com/doc/#manual

    Gruß Bobby

    --
    -> Für jedes Problem gibt es eine Lösung, die einfach, sauber und falsch ist! <-
    ### Henry L. Mencken ###
    -> Nicht das Problem macht die Schwierigkeiten, sondern unsere Sichtweise! <-
    ### Viktor Frankl ###
    ie:{ br:> fl:{ va:} ls:< fo:) rl:( n4:( de:> ss:) ch:? js:( mo:} sh:) zu:)
    1. Hallo,

      also gibt es keine Konfiguration, welche man empfehlen würde/könnte, um die Anfragen schneller zu beantworten.

      Bzw. wie kann man denn am besten testen, ob die Optimierung etwas gebracht hat...

      1. Moin

        also gibt es keine Konfiguration, welche man empfehlen würde/könnte, um die Anfragen schneller zu beantworten.

        Ähm.. die Konfiguration, die deinem Zweck am angemessensten ist, kann man Empfehlen.

        Performanceschwierigkeiten lassen of aber auch auf ein schlechtes TAbellendesign schließen.

        Ich habe gelernt, das oft eine gute Indexierung und Fremdschlüsselbeziehung schon erheblich die Performance erhöhen kann. Auch eine ausgeklügelte Logik kann Zielführen sein, sowie die Einschränkung der Ergebnismenge ( "*" sollte vermieden werden)

        Beim meinem SQL sind 5 Konfigurationen dabei.

        my-huge.ini
        my-large.ini
        my-medium.ini
        my-small.ini
        my-innodb-heavy-4G.ini

        Mit diesen sollte man eigentlich auskommen.

        Bzw. wie kann man denn am besten testen, ob die Optimierung etwas gebracht hat...

        Das siehst du , wenn du dir die Ausführungszeiten zurückgeben lässt. (kann man direkt im phpmyAdmin anschauen)

        Gruß Bobby

        --
        -> Für jedes Problem gibt es eine Lösung, die einfach, sauber und falsch ist! <-
        ### Henry L. Mencken ###
        -> Nicht das Problem macht die Schwierigkeiten, sondern unsere Sichtweise! <-
        ### Viktor Frankl ###
        ie:{ br:> fl:{ va:} ls:< fo:) rl:( n4:( de:> ss:) ch:? js:( mo:} sh:) zu:)
        1. Hallo und Sorry!

          Was meinst Du mit Fremdschlüsselbeziehung?

          1. Moin

            Was meinst Du mit Fremdschlüsselbeziehung?

            Na Fremdschlüsselbeziehungen halt. Grundlage in Datenbanken um die refrenzielle Integrität zu wahren:

            Hier mal ein link

            http://www.w3schools.com/sql/sql_foreignkey.asp

            Gruß Bobby

            --
            -> Für jedes Problem gibt es eine Lösung, die einfach, sauber und falsch ist! <-
            ### Henry L. Mencken ###
            -> Nicht das Problem macht die Schwierigkeiten, sondern unsere Sichtweise! <-
            ### Viktor Frankl ###
            ie:{ br:> fl:{ va:} ls:< fo:) rl:( n4:( de:> ss:) ch:? js:( mo:} sh:) zu:)
        2. Nochwas - elche ini sollte ich denn verwenden, wenn ich noch mehr Speicher zur Verfügung habe.

          Bei welchen Parameter kann ich den Speicher erhöhen, um noch schnelle Anfragen zu erhalten.

          1. Moin

            Nochwas - elche ini sollte ich denn verwenden, wenn ich noch mehr Speicher zur Verfügung habe.

            Bei welchen Parameter kann ich den Speicher erhöhen, um noch schnelle Anfragen zu erhalten.

            Das lässt sich pauschal nicht sagen. Es kommt immer auf dein Datenbankdesign an! Spiele doch am besten mal mit den 5 Pre-Sets rum (natürlich solltest du dir diese vorher sichern, für den Fall der Fälle)

            Gruß Bobby

            --
            -> Für jedes Problem gibt es eine Lösung, die einfach, sauber und falsch ist! <-
            ### Henry L. Mencken ###
            -> Nicht das Problem macht die Schwierigkeiten, sondern unsere Sichtweise! <-
            ### Viktor Frankl ###
            ie:{ br:> fl:{ va:} ls:< fo:) rl:( n4:( de:> ss:) ch:? js:( mo:} sh:) zu:)
      2. Tach!

        also gibt es keine Konfiguration, welche man empfehlen würde/könnte, um die Anfragen schneller zu beantworten.

        Unter der Voraussetzung, dass du bereits alle Möglichkeiten der Query-Beschleunigung ausgenutzt hast (Indexe passend gesetzt) kannst du noch mit Speicher für den Query-Cache die Antwortzeit verringern. Das sind dann aber eher Maßnahmen, um in einem Hochlastbetrieb noch das eine oder andere Quentchen herauszuholen. Für die haushaltsüblichen Probleme bringen in der Regel Indexe wahre Wunder.

        Bzw. wie kann man denn am besten testen, ob die Optimierung etwas gebracht hat...

        Man kann natürlich blind Performance-Maßnahmen durchprobieren, oder man versucht die Ursache zu finden, um dann gezielt vorzugehen. Ob eine Optimierung etwas gebracht hat, muss man mit dem Szenario testen, für das man zu optimieren gedenkt. Dazu hast du dich bisher noch nicht geäußert.

        dedlfix.

    2. Anbei noch meine Konfiguartion. Der Server hat 32gb Arbeitsspeicher

      [mysqld]
      key_buffer = 512M
      max_allowed_packet = 64M
      sort_buffer_size = 4M
      net_buffer_length = 128K
      read_buffer_size = 4M
      read_rnd_buffer_size = 512K
      myisam_sort_buffer_size = 128M

      skip-federated

      server-id = 1

      Comment the following if you are using InnoDB tables

      #skip-innodb
      innodb_buffer_pool_size = 16M
      innodb_additional_mem_pool_size = 2M
      innodb_log_file_size = 5M
      innodb_log_buffer_size = 8M
      innodb_flush_log_at_trx_commit = 1
      innodb_lock_wait_timeout = 50

      [mysqldump]
      quick
      max_allowed_packet = 16M

      [mysql]
      no-auto-rehash

      Remove the next comment character if you are not familiar with SQL

      #safe-updates

      [isamchk]
      key_buffer = 20M
      sort_buffer_size = 20M
      read_buffer = 2M
      write_buffer = 2M

      [myisamchk]
      key_buffer = 20M
      sort_buffer_size = 20M
      read_buffer = 2M
      write_buffer = 2M

      [mysqlhotcopy]
      interactive-timeout

  2. Tach!

    Ich suche eine Anleitung, bzw. ein paar Tipps, wie ich meinen MySql Server optimieren kann (speziell die my.ini).

    Optimieren wofür? Das Ergebnis ist ja je nach Ziel mal so und mal so. Und die Grundkonfiguration kommt auch nicht völlig unbrauchbar daher.

    dedlfix.