Perl ile web sayafalarının performansını izlemek için bir scripti paylaşmak istiyorum.
Web üzerinde bulduğum bir scripti değiştirip düzenleyerek alttaki hale getirdim.
Scriptimiz web sayfasını http protokolü ile ham kod halinde bilgisayarımıza indirecek ve işlemin başlaması ile bitişi arasındaki süreyi tutarak sayfanın nekadar sürede açıldığını (indirildiğini) bulacak.
Sayfanın indirilebilip indirilemediğine bakacak. İndirilebiliyor ise ham kodu ekrana basacak.
İndirme işlemi belirledigimiz sureden uzun sürüyor ise alarm oluşturacak.
#!/usr/local/bin/perl -wuse LWP::UserAgent;use Crypt::SSLeay;use HTTP::Cookies;use HTTP::Headers;use HTTP::Request;use HTTP::Response;use Time::HiRes 'time','sleep';$browser = 'Mozilla/4.04 [en]';$rooturl = 'http://www.myperltestportal.com/';$cookie_jar = HTTP::Cookies->new;$ua = LWP::UserAgent->new;MAIN: {$ua->agent($browser);$latency = &get("index.php");if($response->content =~ m/404 Not Found/) {last;} else {if($latency > 0.5) {print "\n\nGECIKME VAR\n\n";last;} else {print "\n\nGECIKME YOK\n\n";last;}}sleep 5;}sub get {local ($path) = @_;$request = new HTTP::Request('GET', "$rooturl$path");if ($response) {$cookie_jar->extract_cookies($response);$cookie_jar->add_cookie_header($request);}$start = time( );$response = $ua->request($request);$end = time( );$latency = $end - $start;if (!$response->is_success) {print $request->as_string( ), " Basarisiz: ", $response->error_as_HTML;}$GOSTER=OK;if($response->content =~ m/404 Not Found/) {print "\n\n*****\n\n404 ERROR\n\n*****\n\n";} else {if ($GOSTER eq "OK") {print "\n\nWEB SAYFASI DOSYA ICERIGI\n";print $response->content;print "\n###\n".$path." Dosyasi Kaynaktan Basari Ile Alindi \n\n###\n";print "\n".$path." Dosyasinin Yuklenmesi ".$latency."Surmustur.\n";}}$latency;}