Wie kann man InnoDB verbessern? (Geschwindigkeit von InnoDB auf Mysql / MariaDB Server)

Ich habe große Tabelle mit mehr als 1 mio. Daten. Inserts dauern bei InnoDB 100-150 mal langsamer als MyISAM. Wie kann ich die Leistung von InnoDB verbessern.

Comments

Diese Konfigurationsänderung / Erweiterung hat mir geholfen. Aber ich weiss nicht welche Punkt hat es geschafft.

 

innodb_read_io_threads = 64

innodb_write_io_threads = 16

innodb_log_buffer_size = 256M

query_cache_size = 0



innodb_buffer_pool_dump_at_shutdown=1

innodb_buffer_pool_load_at_startup=1

innodb_purge_threads = 4

innodb_buffer_pool_instances = 64

innodb_thread_concurrency = 16

innodb_flush_method = O_DIRECT

innodb_file_per_table = 1

InnoDB lässt damit keine große Verbesserung merken.

  • Diese Code hat auf unseren Server nicht funktioniert:

    innodb_read_io_threads = 64

    innodb_write_io_threads = 16

    innodb_log_buffer_size = 256M

    query_cache_size = 0

    innodb_buffer_pool_dump_at_shutdown=1

    innodb_buffer_pool_load_at_startup=1

    innodb_purge_threads = 4

    innodb_buffer_pool_instances = 64

    innodb_thread_concurrency = 16

    innodb_flush_method = O_DIRECT

    innodb_file_per_table = 1

     

  • Diese funktioniert aber keine Änderung bzw. keine Leistungsverbesserung:

    innodb_read_io_threads = 64

    innodb_write_io_threads = 16

    innodb_log_buffer_size = 256M

    query_cache_size = 64M

    innodb_purge_threads = 4

    innodb_buffer_pool_instances = 64

    innodb_thread_concurrency = 16

    innodb_flush_method = fsync

    innodb_file_per_table = 1



     

  • Und man darf nicht einfach so in my.cnf ganz unten oder oben hinzufügen. Es muss unter [mysqld] platziert werden.

 

Einfache Test wurde gemacht mit: "select * from articles order by rand() limit 10"

InnoDB: 0.48 Sekunden

MyISAM: 0.06 Sekunden

 

Beide Tabellen haben identische Daten mit mehr als 1 mio. Einträge.

 

 

Bei mir haben die Änderungen leider nichts gebracht. Habe folgendes getestet und der Server ist etwas schneller geworden:



innodb_buffer_pool_size = 1G

innodb_flush_log_at_trx_commit = 2

 

Neuen Kommentar schreiben

CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.

Suche

Neueste Kommentare

  • 3 weeks 6 days ago
    Transaction isolation level REPEATABLE-READ The recommended level for Drupal is "READ COMMITTED". (Drupal Status Report)

     Edit "/etc/my.cnf" ( under [mysqld] ):

    transaction_isolation="READ-COMMITTED"

    Restart MariaDB / MySQL:

  • 1 month ago
    Wget - Eine Webseite rekursive downloaden

    wget -U 'Mozilla/MyUserAgent' -P MyTempDir123 --wait=0.2 --random-wait -nd -r -x -l 4 -e robots=off --reject

  • 1 month ago
    Wget - Eine Webseite rekursive downloaden

    wget -U 'Mozilla/MyUserAgent2024' -P MyOutPutDirectory --wait=1 --random-wait -nd -r -l 2 -e robots=off --reject

  • 2 months 1 week ago
    CPU benchmarking with sysbench (single-threaded/all cores)

     

    # sysbench --threads="$(nproc)" cpu run

  • 2 months 1 week ago
    CPU benchmarking with sysbench (single-threaded/all cores)

    # sysbench --threads="$(nproc)" cpu run

  • 2 months 1 week ago
    Linux Autovervollständigung - bash autocomplete
    source ~/.bashrc

    Diese Lösung wird empfohlen aber hat bei mir nicht funktioniert.

    Welche Alternative gibt es?

  • 2 months 1 week ago
    PHP-CLI auf PHP8.2 umstellen (für Composer, Drush etc)

    ln -snf /opt/plesk/php/8.3/bin/php /etc/alternatives/php

  • 2 months 1 week ago
    Drush Update failed (require php >=8.2)

    In composer.json, update: 

     

  • 2 months 1 week ago
    Drupal: Anmeldung fehlgeschlagen Es hat mehr als 5 fehlerhafte Anmeldeversuche für dieses Benutzerkonto gegeben. Es ist vorübergehend gesperrt.
    drush sqlq "DELETE FROM flood"
  • 2 months 1 week ago
    Drupal SMTP + Gmail funktioniert nicht mehr (Passwort ist richtig); was ist die Lösung?