うちの会社でも、IO-Drive2やSSDを使用したサーバが増えてきた。 ディスク性能が良いサーバがあっても、MySQL側がボトルネックになっていたら宝の持ち腐れになってしまう。そこで、MySQLで制限されている一つにinnodb_io_capacityというものがあるのでこの設定について考えてみたいと思う。 そもそもMySQLがディスクI/Oを必要とする処理はどのようなものがあるか考えてみよう。 ・キャッシュされていないDBデータへのアクセスが発生した時。 ・更新されたダーティページがディスクへフラッシュする時。 ・エラーログが出力される時。 ・バイナリログが出力される時。 ・スロークエリログが出力される時。 ・トランザクションログが出力される時。 ・表やDBの定義や作成等でテーブルスペースの更新が発生した時。 他にもあると思うが、I/O処理にはフォアグランド、バックグラウンドの2種類が