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. MySQL Neuen Kommentar schreiben Comments Diese Konfigurationsänderung… Di, 05/23/2017 - 10:40 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 Antworten … Sa, 05/27/2017 - 09:55 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. Antworten Bei mir haben die Änderungen… Do, 06/01/2017 - 13:07 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 Antworten Neuen Kommentar schreiben Ihr Name Betreff Comment Hilfe zum Textformat CAPTCHA This question is for testing whether or not you are a human visitor and to prevent automated spam submissions. Leave this field blank
Diese Konfigurationsänderung… Di, 05/23/2017 - 10:40 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 Antworten
… Sa, 05/27/2017 - 09:55 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. Antworten
Bei mir haben die Änderungen… Do, 06/01/2017 - 13:07 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 Antworten
Comments
Diese Konfigurationsänderung… Di, 05/23/2017 - 10:40
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
… Sa, 05/27/2017 - 09:55
InnoDB lässt damit keine große Verbesserung merken.
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… Do, 06/01/2017 - 13:07
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