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

Submitted by Gast (nicht überprüft) on Mi, 04/26/2017 - 14:47

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

Gespeichert von Gast (nicht überprüft) am/um Di, 05/23/2017 - 10:40

Permanenter Link

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.

 

 

Gespeichert von Gast (nicht überprüft) am/um Do, 06/01/2017 - 13:07

Permanenter Link

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

Bild-CAPTCHA