2012-04-11 5 views
0

Кто-нибудь знает модуль, который имеет функцию, которая возвращает (например, для eth0) скорость загрузки?Кто-нибудь знает модуль, который имеет функцию, которая возвращает kb/s downloadpeed?

+0

У меня есть локальные сети гигабита, но мой интернет-соединение ADSL. Формулировка вашего вопроса предполагает, что (для моей системы) вы ищете 1000 Мбит/с, правильно? – Quentin

+0

Тогда фраза была не в порядке. Меня интересует подключение к Интернету. –

+0

Нет надежного способа измерения этого. Скорости будут варьироваться в зависимости от того, где находится другая конечная точка, какой другой трафик идет по сети в то время и т. Д. – Quentin

ответ

2

Наймите программа мониторинга: на вершине, iftop, NTOP, dstat, icinga, Munin, knemo, ksysguardd

+0

Это необходимо с помощью этих инструментов, чтобы получить необходимую информацию в моем скрипте. И сценарий не работает с привилегиями суперпользователя. –

+0

Неправда. Нет ничего кропотливого в отношении my ($ recv, $ send) = qx'dstat --net 1 1 '= ~/(\ d + \ w *) \ s + (\ d + \ w *) \ s + \ z /; '. Он отлично работает без суперприльзователя. – daxim

0
#!/usr/bin/perl 

use strict; 
use warnings; 
use Time::HiRes; 
use LWP::Simple; 

my $url = 'http://www.cnn.com/'; 
my $file = 'cnn.html'; 
my $start = [Time::HiRes::gettimeofday()]; 
getstore($url, $file); 
my $time = Time::HiRes::tv_interval($start); 
my $size = -s $file; 

printf "Speed: %d kbps\n", $size/$time/1000; 
+0

Это не учитывает задержки и т. Д. После того, как вы установили соединение, все может пойти очень быстро. –