認識すべきボトルネックの1つは、InnoDBログバッファーです。サイズはinnodb_log_buffer_sizeによって設定されます。これは、MySQLのドキュメントに記載されている内容です。
InnoDBがディスク上のログファイルに書き込むために使用するバッファーのバイト単位のサイズ。デフォルト値は8MBです。大きなログバッファを使用すると、トランザクションをコミットする前にログをディスクに書き込むことなく、大きなトランザクションを実行できます。したがって、大きなトランザクションがある場合、ログバッファを大きくするとディスクI / Oが節約されます。
InnoDBログバッファーをInnoDBバッファープールと混同しないでください。それらの主な違いは目的です。InnoDBログバッファーは、基本的に、REDOログ(ib_logfile0、ib_logfile1)に書き込まれる短期的な変更を記録します。InnoDBバッファープール(innodb_buffer_pool_sizeでサイズ指定)は、データ(ページがダーティの場合)およびディスクにコミットされるインデックスページをキャッシュします。コミットされた変更ページは、LRUルールを介して削除されるまでRAMに残ります。
大きなトランザクションは、ログバッファーを介して集中する必要があります。前述のように、ログバッファを大きくすると、ディスクI / Oが減少します。大規模なコミットのみがボトルネックになります。
他のInnoDBオプションを調べて設定することをお勧めします。
さらなる研究のためにInnoDBを最適化することに関する他の投稿があります