Периодически измерять скорость интернет-соединения с интернет-сервером.
Я боюсь, что наш интернет-провайдер, поддерживающий соединение с нашим веб-сервером, не предоставляет хорошего сервиса. Какое программное обеспечение люди используют для контроля за интернет-сервером? (или любое интернет-соединение в этом отношении). Я думаю что-то, что будет периодически контролировать это, чтобы позволить картине быть построенной в течение долгого времени.
SpeedTest.Net не подходит для веб-сервера.
5 ответов
Я предлагаю создать простую HTML-страницу (чтобы исключить проблемы с базой данных и т. Д.), А затем использовать службу мониторинга веб-сайтов, такую как AlertFox.
Если все остальное остается прежним, единственным параметром производительности является скорость интернет-соединения вашего провайдера.
Вы можете использовать http://www.speedtestfile.com/ и cron
или Планировщик задач для запуска загрузки этого файла каждые несколько минут.
Cacti или raw rrd могут быть довольно хорошими, чтобы изобразить скорость с течением времени.
Вы можете использовать Jakarta Jmeter, который может помочь вам протестировать производительность как на статических, так и на динамических ресурсах (файлы, сервлеты, сценарии Perl, объекты Java, базы данных и запросы, серверы FTP и т. Д.). Это проект Apache, поэтому он довольно хорошо поддерживается и протестирован.
Кроме того, вы можете использовать дополнение Firebug для Firefox. Он имеет вкладку Net для устранения проблем и тестирования. Fiddler на Windows также может быть полезным.
Вы, вероятно, могли бы что-то приготовить из ab и cron, установленных на одной или нескольких машинах, просто выполняя тесты производительности на вашем веб-сервере.
Это не обязательно скажет вам, виноват ли ваш провайдер, но по крайней мере покажет, есть ли изменения в течение дня.
У вас есть другая машина, которую вы можете использовать? В основном, используйте FTP и командный файл (см. "Man ftp"), чтобы загрузить / загрузить полужесткий файл. Затем вы можете использовать grep, чтобы получить скорость загрузки / выгрузки.
Если у вас есть те, что вы делаете с ними, зависит от вас. Я бы предложил RRDTool, хотя его интерфейс может быть немного запутанным.
Я делал это раньше, вот код PHP, который я использовал. Ссылка на ftp1.optonline.net, вероятно, вам не поможет, вам просто нужно найти большой файл на сервере http/ftp.
<?php
chdir('/tmp');
$c = curl_init('ftp://ftp1.optonline.net/test4');
curl_setopt($c,CURLOPT_RETURNTRANSFER,true);
curl_exec($c);
echo "Down: ".curl_getinfo($c,CURLINFO_SPEED_DOWNLOAD)."\n";
$down = curl_getinfo($c,CURLINFO_SPEED_DOWNLOAD);
if (!file_exists('/tmp/speedup'))
{
exec('dd if=/dev/urandom of=/tmp/speedup bs=1024 count=1024');
}
$u = curl_init('ftp://your_ftp_server');
curl_setopt($u,CURLOPT_USERPWD,"username:password");
curl_setopt($u,CURLOPT_UPLOAD,1);
curl_setopt($u,CURLOPT_INFILE,fopen('/tmp/speedup','r'));
curl_setopt($u,CURLOPT_INFILESIZE,filesize('/tmp/speedup'));
curl_exec($u);
echo "Up: ".curl_getinfo($u,CURLINFO_SPEED_UPLOAD)."\n";
$up = curl_getinfo($u,CURLINFO_SPEED_UPLOAD);
$f = fopen("/tmp/speed_data.txt","a");
fwrite($f,mktime()." $down $up\n");
fclose($f);