10bet网址
MySQL 5.6リファレンスマニュアル
本手册下载
PDF (Ltr)- 26.8 mb
PDF (A4)- 26.8 mb


8.5.7 InnoDBディスクI/Oの最適化

データベース設計とSQL操作のチューニング技法のベストプラクティスに従っても,データベースが大量のディスクI / Oアクティビティーによってまだ遅い場合は,ディスクI / Oに関するこれらの低レベル技法を調査してください。UnixツールまたはWindowsタスクマネージャーに,ワークロードのCPU使用率が70%未満であることが示されている場合,ワークロードはディスクに依存している可能性があります。

  • テブルデタをInnoDBバッファープールにキャッシュすると,ディスクI / Oを必要とせずに,クエリーでそれを繰り返し処理できます。バッファプルサズは,通过innodb_buffer_pool_sizeオプションで指定します。このメモリー領域はきわめて重要であるため,ビジーなデータベースでは多くの場合,サイズを物理メモリーの量の約80%に指定します。詳細にいては,セクション8.9.1 " InnoDBバッファプル"を参照してください。

  • GNU/LinuxおよびUnixの一部のバジョンでは,Unixfsync ()呼び出し(これは.InnoDBがデフォルトで使用します)および類似のメソッドによるファイルのディスクへのフラッシュが驚くほど低速です。デタベスの書き込みパフォマンスが問題である場合,innodb_flush_methodパラメタをO_DSYNCに設定してベンチマクを実行します。

  • x86_64アキテクチャ(AMD Opteron)のSolaris 10でInnoDBストレジエンジンを使用する場合,InnoDB関連ファesxi esxiルにダesxiレクトI/Oを使用して,InnoDBのパフォマンスの低下を回避します。InnoDB関連ファイルを格納するために使用されるUFSファイルシステム全体にダイレクトI / Oを使用するには,それをforcedirectioオプションでマウントします。mount_ufs(1米)を参照してください。(Solaris 10/x86_64のデフォルトではこのオプションを使用.しません)。ダesxiレクトI/Oをファesxiルシステム全体ではなく,InnoDBファル操作にのみ適用するには,innodb_flush_method = O_DIRECTを設定します。この設定では,InnoDBはデfcntl ()ではなく,译:()を呼び出します。

  • Solaris 2.6以上の任意のリリースおよび任意のプラットフォーム(sparc / x86 / x64 / amd64)で,大きな通过innodb_buffer_pool_size値を使用して,InnoDBストレジエンジンを使用する場合,先述のforcedirectioマウントオプションを使用して,原始デバイスまたは個別のダイレクトI / O UFSファイルシステムで,InnoDBデタファ。(ログファesxiルのダesxiレクトI/Oが必要な場合,innodb_flush_methodを設定する代わりに,マウントオプションを使用する必要があります)VeritasファイルシステムVxFSのユーザーは,convosync =直接マウントオプションを使用してください。

    ダesxiレクトI/Oファesxiルシステムに,MyISAMテ。実行ファesxi esxiルやラesxiブラリは,ディレクトioファesxiルシステムに配置しないでください

  • RAID構成または別のディスクへのシンボリックリンクをセットアップするために追加のストレージデバイスを使用できるようにする場合,追加の低レベルI / Oのヒントについては,セクション8.11.3 "ディスクI/Oの最適化"を参照してください。

  • InnoDBチェックポ邮箱ント操作のため,スル,プットが周期的に低下する場合,innodb_io_capacity構成オプションの値を増加することを考慮します。値を大きくすると,フラッシュが頻繁になり,スルプットを低下させる可能性のある作業のバックログが避けられます。

  • InnoDBフラッシュ操作によって,システムが遅くならない場合は,innodb_io_capacity構成オプションの値を小さくすることを考慮します。一般に,このオプション値はできるかぎり小さくしますが,前の箇条書きで示したように,スループットに周期的な低下が発生するほど小さくしないでください。オプション値を小さくすることができる一般的なシナリオでは,显示引擎innodb状态からの出力に,次のような組み合わせが示されることがあります。

    • 履歴リストの長さが短く,数千未満です。

    • 挿入バッファマジ数が挿入された行数に近いです。

    • バッファプル内の変更されたペジが,一貫してバッファルのinnodb_max_dirty_pages_pctをはるかに下回っています。(サーバーが一括挿入を実行していないときに測定します。変更されたページの一括挿入時に,パーセンテージが大幅に高くなるのは正常です)。

    • 日志序列号-最后一个检查点が,InnoDBログファ邮箱ルの合計サ邮箱ズの7/8未満か,理想的には6/8未満です。

  • I/Oに依存したワクロドのチュニング時に考慮するその他のInnoDB構成オプションには次が含まれます:innodb_adaptive_flushinginnodb_change_buffer_max_sizeinnodb_change_bufferinginnodb_flush_neighborsinnodb_log_buffer_sizeinnodb_log_file_sizeinnodb_lru_scan_depthinnodb_max_dirty_pages_pctinnodb_max_purge_laginnodb_open_filesinnodb_page_sizeinnodb_random_read_aheadinnodb_read_ahead_thresholdinnodb_read_io_threadsinnodb_rollback_segmentsinnodb_write_io_threads,およびsync_binlog


本手册下载
PDF (Ltr)- 26.8 mb
PDF (A4)- 26.8 mb