らくがきちょう

なんとなく

LB の動作確認をする際に Web サーバ側においておく PHP スクリプト

LB のテストをする際は Web サーバに「分散対象になったサーバのホスト名やアドレス、アクセス日時」等を表示させるスクリプトを置いておくと便利です。具体的には以下のような PHP スクリプトを置いて試験することが多いです。

<html>
<head>
<title>
<?php
  echo gethostname();
?>
</title>
</head>
<body>
<table border="1" style="font-size : 48px;">
<?php
  $now = microtime(true);
  $ms = (int)(($now - (int)$now) * 1000);
  $msStr = str_pad($ms, 3, 0, STR_PAD_LEFT);
  $dtStr = date("Y-m-d H:i:s") . "." . substr(explode(".", (microtime(true) . ""))[1], 0, 3);
  echo '<tr><td bgcolor="#87cefa">Time</td><td>'.$dtStr.'</td></tr>';
  echo '<tr><td bgcolor="#87cefa">Hostname</td><td>'.gethostname().'</td></tr>';
  echo '<tr><td bgcolor="#87cefa">Server Address</td><td>'.$_SERVER['SERVER_ADDR'].'</td></tr>';  
  echo '<tr><td bgcolor="#87cefa">Client Address</td><td>'.$_SERVER["REMOTE_ADDR"].'</td></tr>';  
?>
</table>
</body>
</html>

実際にアクセスすると以下のように表示されます。LB 経由で何度かアクセスし、分散先サーバが変更されていく様子を確認します。

f:id:sig9:20170301141526p:plain