Now my question is that why we should not have the collective size of innodb_log_files more than the size of the innodb_buffer_pool and why should we write to these log files though we are flushing it to the disc...?
- >常にこの値* innodb_log_file_size
innodb_log_files_in_group
以上でなければなりませんinnodb_buffer_pool_size
のように述べている場合、私はわかりません。 もちろん! innodb_buffer_pool_size
の推奨サイズは、Innodbのみのインストールで使用可能なメモリの70〜80%にする必要があります。デフォルトのサイズは8MBより大きくする必要があります。
innodb_log_buffer_size
大規模なログバッファを使用すると、トランザクションがコミットされる前にログをディスクに書き込む必要なく大規模なトランザクションを実行できます。したがって、大きなトランザクションがある場合、ログバッファを大きくすると、ディスクI/Oが節約されます。
innodb_log_file_size
値が大きいほど、バッファー・プール内のチェックポイント・フラッシュ・アクティビティーが少なくて済み、ディスクI/Oが節約されます。しかし、ログファイルが大きくなると、クラッシュした場合の復旧が遅くなります。 Innodb_os_log_written
変数を数分間監視し、InnoDBトランザクションログに書き込まれるバイト数を推定する必要があります。この値に3600(1時間)を掛けて、innodb_log_files_in_group
で割って、適切なログファイルサイズを選択することができます。
innodb_log_buffer_size
は、ディスクI/Oを保存するためにこれらのログファイルに内部でログオンするために内部的に使用します。
このチェックポイントは何ですか? – Uday
InnoDBのflushメソッドの動作については、このリンクを参照してください: 1)http://dev.mysql.com/doc/refman/5.0/en/innodb-parameters.html#sysvar_innodb_flush_method 2)http:// dev readline InnoDBは、ログファイルのその部分にREDOエントリが含まれるすべてのダーティバッファプールページをディスクにフラッシュする必要があります。必要に応じて、InnoDBは適切なダーティページをフラッシュしてログファイル内にスペースを確保することによって、いわゆる「シャープチェックポイント」を実行します。 –
は偉大なマヘスのように聞こえる....あなたの精巧さに感謝します。 – Uday