More Related Content
Similar to MySQL負荷分散の方法 (20)
MySQL負荷分散の方法
- 2. 自己紹介
佐久本 正太 29歳
株式会社シーエー・アドバンス
技術推進Gマネージャー
MySQLClusterやDRBD、PaceMakerの
HA化ソリューションで遊んでます。
- 30. 負荷分散方法その③
<?php
class CheckhtmlController extends AppController {
public $name = 'User';
public function index(){
$this->layout = "";
$DBTYPE = Configure::read("DBTYPE");
if ( $DBTYPE["MASTER_DB"] == 1 ){
$msg = 0;
} elseif ( $DBTYPE["SLAVE_DB"] == 1 ){
try {
$chkStatus = $this->User->slaveStatus();
$status = $chkStatus[0][0];
} catch (Exception $e){
$msg = 1;
}
- 31. 負荷分散方法その③
//$DBTYPE["BEHIND"] 遅延許容値
if ( $status["Seconds_Behind_Master"] <= $DBTYPE["BEHIND"] && $status["Seconds_Behind_Master"] <> NULL && $status["Last_SQL_Errno"]
== 0 ){
//print "遅延なし";
$msg = 0;
} elseif ($status["Slave_IO_Running"] == "No" || $status["Slave_SQL_Running"] == "No" ) {
//レプリケーションが止まっています。
$msg = 1;
} else {
//遅延しています。
$msg = 1;
}
} else {
$msg = 1;
}
print $msg;
}
}
- 36. 負荷分散方法その③
#以下リアルサーバー
real_server 192.168.1.21 3306 {
weight 1
inhibit_on_failure
MISC_CHECK {
misc_path "/bin/sh /root/misc.sh 192.168.1.21"
misc_timeout 10
}
}
real_server 192.168.1.22 3306 {
weight 1
inhibit_on_failure
MISC_CHECK {
misc_path "/bin/sh /root/misc.sh 192.168.1.22"
misc_timeout 10
}
}
}
- 41. 続きはWEBで
http://ameblo.jp/exgineer/
9月頭までには各種設定方法を記載いたします!