io負荷対策、実験。

io負荷対策、実験。

io負荷対策として
1.mysqlの基本設定
2.キャッシュの設定(phpフレームワーク
の設定を見直してみたのでメモメモ。

1.mysqlのパラメータ

(mysqlのパラメータ項目リスト)
mysql> SHOW VARIABLES;

(項目)key_buffer_size
(意味)MyISAM テーブルのインデックスを保存しておくバッファ。
(目測)専用サーバなら、RAMの1/2、Apache などと共用なら、RAM の1/4程度
(効果)パフォーマンスが向上
(変更前)| key_buffer_size | 16384 |
(コマンド)MySQL> SET GLOBAL key_buffer_size=268435456;
(変更後)| key_buffer_size | 268435456 |
SET GLOBAL key_buffer_size=16384;

(項目)table_cache
(意味)データのキャッシュサイズ
(効果)ディスクのI/O減
(変更前)| table_cache | 4 |
http://www.mysqlperformanceblog.com/2009/11/16/table_cache-negative-scalability/
(コマンド)mysql>SET GLOBAL table_cache=1024;
(変更後)table_cache | 1024 |

SET GLOBAL table_cache=256;

http://redhatman.blog23.fc2.com/blog-entry-69.html

2.cakephpのページキャッシュ

キャッシュさせたいビューを持つコントローラーにキャッシュヘルパーを組み込み、
$Controller::cacheActionメンバ配列変数へキャッシュの有効期限を設定する。

1.core.phpの設定
キャッシュを有効にする
app/config/core.php

define('CACHE_CHECK',true);
Configure::write('Cache.check',true);

2.コントローラーにキャッシュヘルパーを使う

2-1.アクション毎にキャッシュを使う設定
"+1 day",
"view/12" => "+1 week",
"view/20" => "+1 week");
//キャッシュ対象
function index(){

}
}
?>

2-2.コントローラー以下すべてのアクションにキャッシュを使う


3.ビューのテンプレート内部でキャッシュしない部分を指定する

4./dir/cake/app/temp/cache/views/に書き込み権限を付与。
その後、こんな感じでモサモサとファイルが出来始めればOK。