Инструменты пользователя

Инструменты сайта


software:round-robin-dns-monitoring-php-script

Скрипт мониторинга нагрузки на сайт по технологии Round Robin DNS

Допустим у нас домен www.ru балансируется с помощью технологии Round Robin DNS. Мне захотеклось узнать, насколько быстро страницы создаются на каждом хостинге. Выкачивать логи апача не хотелось.

Придумал такое решение. Нам нужен еще один хостинг (например будет домен counter.www.ru). Возможно даже бесплатный можно использовать.

На counter.www.ru заливаем файл

<?php
$host = $_GET['host'];
@mkdir( "./".date("y-m-d") );
$res = fopen('./'.date("y-m-d").'/'.$host, 'a'); 
fwrite($res, time()."|".$_GET['gentime']."|".$_SERVER["REMOTE_ADDR"]."|".$_SERVER['HTTP_REFERER']."\n"); 
fclose($res);

В код страницы сайта www.ru вставляем блок: В САМОЕ НАЧАЛО страницы:

Запускаем таймер

<? $time_start = microtime(1); ?>

В КОНЕЦ, до тега body:

Раасчет времени генерации страницы и загрузка файла счетчика

<?php
$time_end = microtime(1);
$time = $time_end - $time_start;

// $db_type - Уникальный идентификатор сервера, где находится конкретная инстанция сайта
// $time - время генерации в секундах
?>
<script type="text/javascript" src="http:/counter.www.ru/index.php?host=<?=$db_type?>&rnd=<?=time()?>&gentime=<?=$time?>"></script>

Где,

Можно еще передавать троку из файла /proc/loadavg

PS: Код работает с PHP 5.*. На 4-й версии ПеХеПе код расчета времени нужно переделать или переписать до универсального вида.

software/round-robin-dns-monitoring-php-script.txt · Последние изменения: 2017/03/23 21:59 (внешнее изменение)