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;
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。