1

I fear that our ISP suppling our web server's connection is not providing a good service. What software do people use to monitor the spped of a web server's internet connection? (or any internet connection for that matter). I am thinking something that will periodically monitor it to allow a picture to be built up over time.

SpeedTest.Net does not seem appropriate for a web server.

DJA
  • 171
  • 4
  • FWIW I have chanced across this http://www.comparebroadbandspeedtest.com/ Isposure looks promising... anyone using it? – DJA Dec 21 '10 at 12:13

5 Answers5

1

I suggest to create a simple html page (to rule out database issues etc) and then use a website monitoring service like AlertFox.

If everything else stays the same, the only performance parementer is your ISP's internet connection speed.

Jerry33
  • 148
  • 5
0

you can use http://www.speedtestfile.com/ and cron or Task scheduler to run this file download every few minutes.

Cacti or raw rrd may be quite nice to graph the speed over time.

Hubert Kario
  • 6,361
  • 6
  • 36
  • 65
0

YOu could probably cook something up from ab and cron, installed on one or more machines, just doing performance tests on your web server.

This wouldn't necessarily tell you if it's your ISP "at fault", but would at least show if there's a variation throughout the day.

Vatine
  • 5,440
  • 25
  • 24
0

You can use Jakarta Jmeter which may help you to test performance both on static and dynamic resources (files, Servlets, Perl scripts, Java Objects, Data Bases and Queries, FTP Servers and more). It's an Apache project, so it's rather well supported and tested.

Alternatively, you can use the Firebug addon for Firefox. It has a Net tab for debugging issues and testing. Fiddler on Windows may also be helpful.

0

Do you have another machine you can use? Basically, use FTP and a command file (see 'man ftp') to upload/download a semi-large file. You can then use grep to grab your upload/download speeds.

Once you have those, what you do with them is up to you. I'd suggest RRDTool, though it's interface can be a bit confusing.

I've done this before, here's some PHP code that I used. The ftp1.optonline.net link probably isn't helpful to you, you basically just need to find a large file on a http/ftp server.

<?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);
devicenull
  • 5,622
  • 1
  • 26
  • 31