Я опасаюсь, что наш интернет-провайдер, обеспечивающий соединение с нашим веб-сервером, не обеспечивает хорошего обслуживания. Какое программное обеспечение люди используют для отслеживания скорости подключения веб-сервера к Интернету? (или любое подключение к Интернету в этом отношении). Я думаю о чем-то, что будет периодически контролировать это, чтобы изображение со временем выстраивалось.
SpeedTest.Net не подходит для веб-сервера.
Я предлагаю создать простую html-страницу (чтобы исключить проблемы с базой данных и т. Д.), А затем использовать службу мониторинга веб-сайтов, например AlertFox.
Если все остальное остается прежним, единственным параметром производительности является скорость интернет-соединения вашего интернет-провайдера.
Вы, наверное, могли бы приготовить что-нибудь из ab и cron, установленный на одной или нескольких машинах, просто выполняет тесты производительности на вашем веб-сервере.
Это не обязательно скажет вам, «виноват» ли ваш интернет-провайдер, но, по крайней мере, покажет, есть ли изменения в течение дня.
ты можешь использовать http://www.speedtestfile.com/ и cron
или планировщик задач для запуска загрузки этого файла каждые несколько минут.
Cacti или raw rrd могут быть очень хорошими для построения графика скорости с течением времени.
У вас есть еще одна машина, которую вы можете использовать? Как правило, используйте 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);
Ты можешь использовать Джакарта Джметер который может помочь вам протестировать производительность как на статических, так и на динамических ресурсах (файлы, сервлеты, сценарии Perl, объекты Java, базы данных и запросы, серверы FTP и т. д.). Это проект Apache, поэтому он довольно хорошо поддерживается и протестирован.
В качестве альтернативы вы можете использовать Firebug аддон для Firefox. В нем есть вкладка Net для отладки проблем и тестирования. Скрипач в Windows также может оказаться полезным.