使用Squid缓存Web应用

November 20th, 2008 | Categories: Boring | Tags: , ,

前一篇转的体系架构的文章有提起Squid 。它相当于在浏览器和Web服务器之间的缓存代理服务器,可以缓存Web服务器上的网页图片文件等内容和资源。

效果图类似这样,Squid起着”前端页面”缓存的作用。

今天下载后简单配置,果然cache的效果不错。

C:\perl accessHTML.pl <— disable Squid
start at 2008/11/20 19:51:50
End at 2008/11/20 19:53:49
Total elasped time is 119 seconds

C:\perl accessHTML.pl <— enalbe Squid by proxy
start at 2008/11/20 20:03:24
End at 2008/11/20 20:03:59
Total elasped time is 35 seconds

可以看到使用了Squid进行缓存后,网页访问时间确实有很大改进。

简单测试perl脚本

只比上次的测试,增加了proxy选择是否使用Squid的网页缓存代理服务

#!/usr/bin/perl
use Time::Local;
use LWP::UserAgent;

my $endtime;
my $starttime;
my $elaspedtime;

$starttime = time();

my @array=(localtime)[5,4,3,2,1,0];
$array[0]+=1900;
$array[1]+=1;
my $nowtime=sprintf(”%04u/%02u/%02u %02u:%02u:%02u”,@array);
print(”start at “.”$nowtime\n”);

for($i = 1; $i < 30; $i++) {

$url=”http://www.yumianfeilong.com/”;
$ua = LWP::UserAgent->new();
$ua->proxy([’http’] => “http://127.0.0.1:3128/”);

$res=$ua->request( HTTP::Request->new(’GET’,$url));
if ($res->is_success)
{
$countoflines=10000;
$randnum = int(rand($countoflines));
$dmpfile = “htmlfile.$randnum.html”;
open DMPFILE,”>$dmpfile” or die “Can not open and write to $dmpfile”;
print DMPFILE $res->content;
close(DUMPFILE);
unlink(”$dmpfile”);
}
else
{
print (”Error: ” . $res->status_line . “\n”) ;
}
}#end for loop

$endtime = time();

#print “Total elasped time is ” . $endtime - $starttime . ” seconds. \n”;
my @array2=(localtime)[5,4,3,2,1,0];
$array2[0]+=1900;
$array2[1]+=1;
my $nowtime=sprintf(”%04u/%02u/%02u %02u:%02u:%02u”,@array2);
print(”End at “.”$nowtime\n”);
print(”Total elasped time is “);
print(@array2[5] + @array2[4]*60 - @array[5] - @array[4]*60 );
print(” seconds.\n”);

proxy表示我将Squid监听在本地机器的3128端口上。

Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪 ViVi 365Key 网摘 天极网摘 和讯网摘 博拉网 POCO 网摘 饭否 QQ 书签 Digbuzz 我挖网 Mister Wong
No comments yet.