定期测量Web服务器Internet连接的速度

我担心,我们的ISP提供我们的networking服务器的连接不提供良好的服务。 人们用什么软件来监视networking服务器的互联网连接? (或任何互联网连接)。 我正在考虑一些会定期监视的东西,以便随着时间的推移build立一张图片。

SpeedTest.Net似乎不适用于Web服务器。

我build议创build一个简单的HTML页面(以排除数据库问题等),然后使用像AlertFox这样的网站监控服务。

如果一切都保持不变,唯一的performance是你的ISP的互联网连接速度。

您可以使用http://www.speedtestfile.com/和cron或任务计划程序每隔几分钟运行一次该文件下载。

仙人掌或原始rrd可能是相当不错的图表随着时间的推移速度。

YOu可能会从ab和cron中做些东西,安装在一台或多台机器上,只是在您的Web服务器上进行性能testing。

这并不一定告诉你,如果这是你的ISP“过错”,但至less会显示是否有变化的一天。

你有另一台机器可以使用吗? 基本上,使用FTP和一个命令文件(参见'man ftp'​​)来上传/下载一个半大文件。 然后你可以使用grep来获取你的上传/下载速度。

一旦你有了这些,你用他们做什么取决于你。 我build议RRDTool,虽然它的界面可以有点混乱。

我以前做过这个,下面是我使用的一些PHP代码。 ftp1.optonline.net链接可能对你没有帮助,你基本上只需要在http / ftp服务器上find一个大文件。

 <?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); 

您可以使用Jakarta Jmeter ,它可以帮助您testing静态和dynamic资源(文件,Servlet,Perl脚本,Java对象,数据库和查询,FTP服务器等)的性能。 这是一个Apache项目,所以它得到很好的支持和testing。

或者,您可以使用Firefox的Firebug插件。 它有一个debugging问题和testing的networking选项卡。 Windows上的提琴手也可能是有帮助的。