Я пытаюсь написать сценарий мониторинга на Perl, который должен проверять список URL-адресов. Я использую LWP::UserAgent
, HTTP::Response
и Time::HiRes
а> модули.
Вот мой код:
use strict;
use warnings;
use LWP::UserAgent;
use HTTP::Response;
use Time::HiRes qw( gettimeofday );
while (1) {
my $start = gettimeofday();
my $ua = LWP::UserAgent->new();
$ua->agent('lb-healthcheck.pl/0.1');
$ua->timeout(10);
# download the tile locally
my $response = $ua->get("myurl");
my $content = $response->content;
my $end = gettimeofday();
print "$start - $end = ".(($end-$start)*1000)."\n";
}
Запустив скрипт вручную без цикла while, я получаю в среднем около 70 мс времени отклика, но с циклом while я получаю время отклика около 5 мс, что нереально.
Выполняет ли LWP::UserAgent
кэширование? Если да, то можно ли его отключить и как? Если нет, то что я делаю неправильно?
strace
в вызов скрипта. - person Slaven Rezic   schedule 11.05.2021