[前][次][番号順一覧][スレッド一覧]

mysql:14075

From: Katsuyuki Sakai <Katsuyuki Sakai <sakai@xxxxxxxxxx>>
Date: Fri, 22 Jun 2007 17:06:15 +0900
Subject: [mysql 14075] [再送]innodb_max_purge_lagについて

酒井と申します。
先ほどは変なエンコーディングでメールを送信してしまい、申し訳ござ 
いませんでした。
念のため再送させていただきます。

-----------------

innodb_max_purge_lagについて教えていただきたく存じます。

InnoDBはmulti-versionedストレージエンジンなので、 
UPDATEやDELETEで変更された行の変更される前の古い情報を保持 
しておくかと思います(あるトランザクションが変更前のデータを読む 
必要性ががあるかもしれないため)。

innodb_max_purge_lagのデフォルト値は0なので、UPDATEや 
DELETE後MySQLは直ちにパージスレッドを走らせ、そのスレッド 
によって古い情報はパージされるのでしょうか?(ただし古い情報を読 
む必要があるトランザクションが存在しない限り)

マニュアルなどを読むと、古い情報の行数をpurge_lagとし、 
purge_lagの値がinnodb_max_purge_lagの値を超えた場合、
INSERTとUPDATE、DELETEの各操作が((purge_lag/ 
innodb_max_purge_lag)×10)-5ミリ秒だけ遅延され、その間に 
パージスレッドが走る、と読めます。
http://dev.mysql.com/doc/refman/5.0/en/innodb-parameters.html
http://dev.mysql.com/doc/refman/5.0/en/innodb-multi-versioning.html
http://forums.mysql.com/read.php?22,122206,122800#msg-122800

パージ操作にはtablespaceなどへのディスクアクセスが伴うた 
め、パージ操作がボトルネックになる可能性があります。
なので、innodb_max_purge_lagのデフォルト値0ではディ 
スクアクセスが頻繁に起きてボトルネックになる、という考え方は正し 
いでしょうか?
また、innodb_max_purge_lagの値を適宜増やして、後でまとめて 
パージ操作してもらうことでパフォーマンスアップを図るという考え方 
は正しいでしょうか?

ご返答のほど、よろしくお願いいたします。

--
酒井

[前][次][番号順一覧][スレッド一覧]

->   14075 2007-06-22 17:06 [Katsuyuki Sakai <sak] [再送]innodb_max_purge_lagについて      
     14076 2007-06-22 17:16 ┗[Yasufumi Kinoshita <]                                       
     14077 2007-06-22 17:53  ┗["Katsuyuki Sakai" <s]                                     
     14078 2007-06-22 18:04   ┗[Yasufumi Kinoshita <]