[+] przegl

Masz problemy z siecią bądź internetem? Zapytaj tu
ziecio
Posty: 86
Rejestracja: 10 kwietnia 2007, 11:58

[+] przeglądarki tekstowe - ilość pobranych kb

Post autor: ziecio »

Witam.
Przez jakiś czas zmuszony jestem do korzystania z internetu poprzez komórkę podłączoną do komputera i zastanawia mnie, czy używając przeglądarki tekstowej typu links2 ilość pobranych danych jest mniejsza czy taka sama, co ma dla mnie niezwykle istotne znaczenie(mniej kb=mniejsze koszty), czy może jest tak, że niezależnie od przeglądarki strona jest pobierana w całości a to, czy wyświetlane są pliki graficzne zależy od woli użytkownika. Pytam bo zauważyłem w linksie2 w menu->widok->informacje o dokumencie, że wczytana strona waży tyle samo co w iceweasel, także jak nie ma różnicy, to nie będę sobie głowy zawracał czytania stron w konsoli.
yantar
Member
Posty: 1225
Rejestracja: 07 czerwca 2007, 21:15
Lokalizacja: Rzeszów

Post autor: yantar »

Lepiej podepnij jakiś miernik systemowy ile zostało pobranych danych z netu (są tematy na forum). Weź zwykłą przeglądarkę i wyłącz opcje wyświetlania grafik itp. tylko sam tekst (poblokuj przy okazji niechciane połączenie np z gemiusem itp.) Wtedy uzyskasz jakieś miarodajne wyniki.
W Operze dodatkowo możesz skorzystać z opcji Turbo, czyli kompresji danych.
Awatar użytkownika
szmergiell
Beginner
Posty: 195
Rejestracja: 20 maja 2008, 00:16
Lokalizacja: Poznań

Post autor: szmergiell »

Osobiście do pomiaru pobranych i wysłanych danych z i do Internetu, polecam vnstat. Dla swoich potrzeb (korzystanie z Internetu przy użyciu PLAY) napisałem drobny skrypt w bashu zliczający dane od zadanej daty.
Problem jest taki, że vnstat w pamięci trzyma ostatnie 30 dni. Dlatego jeżeli będziesz dłużej korzystał z komórki jako bramki do Internetu, musisz sobie zapisywać poszczególne 'miesiące'.
Załączam mój skrypt, może się tobie przyda:

Kod: Zaznacz cały

#!/bin/sh

DATE=`vnstat --dumpdb | grep "d;" | awk 'BEGIN { FS = ";" } ; {print $3}'`

MB_RECEIVED=`vnstat --dumpdb | grep "d;" | awk 'BEGIN { FS = ";" } ; {print $4}'`
MB_SENT=`vnstat --dumpdb | grep "d;" | awk 'BEGIN { FS = ";" } ; {print $5}'`
KB_RECEIVED=`vnstat --dumpdb | grep "d;" | awk 'BEGIN { FS = ";" } ; {print $6}'`
KB_SENT=`vnstat --dumpdb | grep "d;" | awk 'BEGIN { FS = ";" } ; {print $7}'`

MB_RECEIVED_TODAY=`vnstat --dumpdb | grep "d;0" | awk 'BEGIN { FS = ";" } ; {print $4}'`
MB_SENT_TODAY=`vnstat --dumpdb | grep "d;0" | awk 'BEGIN { FS = ";" } ; {print $5}'`

PAYOFF_DAY=19
LIMIT=10000

YEAR=`date +%Y`
MONTH=`date +%m`
DAY=`date +%d`

TODAY=`date +%Y%m%d`

LAST_YEAR=$YEAR
if [ $DAY -le $PAYOFF_DAY ]; then
 LAST_MONTH=`expr $MONTH - 1`
 else
 LAST_MONTH=`expr $MONTH`
fi

if [ $LAST_MONTH -eq 0 ]; then
 LAST_YEAR=`expr $YEAR - 1`
 LAST_MONTH=12
fi

if [ $DAY -ge $PAYOFF_DAY ]; then
 MONTH=`expr $MONTH + 1`
 if [ $MONTH -gt 12 ]; then
  MONTH=01
  YEAR=`expr $YEAR + 1`
 fi
fi

LAST_PAYOFF=$LAST_YEAR$LAST_MONTH$PAYOFF_DAY
THIS_PAYOFF=$YEAR$MONTH$PAYOFF_DAY

days=0
for each_date in $DATE
do
 day=`date -d @$each_date "+%Y%m%d"`
 if [ $day -gt $LAST_PAYOFF ]; then
 days=`expr $days + 1`
 fi
done

var=0
for each_day in $MB_RECEIVED
do
 if [ $var -lt $days ]; then
  MB_RECEIVED_INTERNET=`expr $MB_RECEIVED_INTERNET + $each_day`
 fi
 var=`expr $var + 1`
done

var=0
for each_day in $KB_RECEIVED
do
 if [ $var -lt $days ]; then
  KB_RECEIVED_INTERNET=`expr $KB_RECEIVED_INTERNET + $each_day`
 fi
 var=`expr $var + 1`
done

var=0
for each_day in $MB_SENT
do
 if [ $var -lt $days ]; then
  MB_SENT_INTERNET=`expr $MB_SENT_INTERNET + $each_day`
 fi
 var=`expr $var + 1`
done

var=0
for each_day in $KB_SENT
do
 if [ $var -lt $days ]; then
  KB_SENT_INTERNET=`expr $KB_SENT_INTERNET + $each_day`
 fi
 var=`expr $var + 1`
done

KB=`expr $KB_RECEIVED_INTERNET + $KB_SENT_INTERNET`

KB_MB_INSIDE=`expr $KB / 1000`
KB=`expr $KB % 1000`

MB=`expr $MB_RECEIVED_INTERNET + $MB_SENT_INTERNET + $KB_MB_INSIDE`

LEFT_TRANSFER=`expr $LIMIT - $MB`

MIESIAC=`expr $LAST_MONTH % 7`
DLUGOSC=`expr $MIESIAC % 2`

if [ $DLUGOSC -eq 1 ]; then
 NO_OF_DAYS=31
 else
 NO_OF_DAYS=30
fi

if [ $LAST_MONTH -eq 2 ]; then
 NO_OF_DAYS=28
fi

if [ $DAY -gt $PAYOFF_DAY ]; then
 PAST_DAYS=`expr $DAY - $PAYOFF_DAY`
 else
 PAST_DAYS=`expr $NO_OF_DAYS - $PAYOFF_DAY + $DAY`
fi

LEFT_DAYS=`expr $NO_OF_DAYS - $PAST_DAYS + 1`
LIMIT_PER_DAY=`expr $LEFT_TRANSFER / $LEFT_DAYS`

SREDNIO=`expr $MB / $PAST_DAYS`

echo "dzień $PAST_DAYS: [$MB_RECEIVED_TODAY MiB / $MB_SENT_TODAY MiB]"
echo "pobrano $MB MiB"
echo "zostało $LEFT_TRANSFER MiB; $LIMIT_PER_DAY MiB/dzień"
Awatar użytkownika
darkwater
Junior Member
Posty: 828
Rejestracja: 25 stycznia 2007, 14:01
Lokalizacja: Częstochowa

Post autor: darkwater »

szmergiell pisze:Problem jest taki, że vnstat w pamięci trzyma ostatnie 30 dni. Dlatego jeżeli będziesz dłużej korzystał z komórki jako bramki do Internetu, musisz sobie zapisywać poszczególne 'miesiące'.
Chyba mamy różne vnstat, mój "trzyma w pamięci" wszystko od czasu instalacji.

Kod: Zaznacz cały

darkwater@blackhole:~$ vnstat -m

 ppp0  /  monthly

   month         rx      |      tx      |   total
-------------------------+--------------+--------------------------------------
  May '09       9.95 GB  |     1.00 GB  |    10.95 GB   %%%%%%%:
  Jun '09      14.17 GB  |     1.31 GB  |    15.48 GB   %%%%%%%%%%:
  Jul '09       8.88 GB  |   752.27 MB  |     9.62 GB   %%%%%%:
  Aug '09       6.67 GB  |   343.87 MB  |     7.01 GB   %%%%%
  Sep '09      27.32 GB  |     1.12 GB  |    28.44 GB   %%%%%%%%%%%%%%%%%%%%%:
  Oct '09      16.42 GB  |   836.67 MB  |    17.24 GB   %%%%%%%%%%%%:
  Nov '09      10.61 GB  |   598.93 MB  |    11.20 GB   %%%%%%%%
  Dec '09       9.24 GB  |   474.55 MB  |     9.70 GB   %%%%%%%
  Jan '10       4.28 GB  |   428.07 MB  |     4.69 GB   %%%
-------------------------+--------------+--------------------------------------
 estimated      5.53 GB  |      553 MB  |     6.07 GB
Więcej informacji:

Kod: Zaznacz cały

vnstat --help
Awatar użytkownika
szmergiell
Beginner
Posty: 195
Rejestracja: 20 maja 2008, 00:16
Lokalizacja: Poznań

Post autor: szmergiell »

darkwater, źle się wyraziłem :)

Kod: Zaznacz cały

 play (ppp0)  /  monthly

   month         rx      |      tx      |   total
-------------------------+--------------+--------------------------------------
  mar '09       1,48 GB  |   147,83 MB  |     1,62 GB   %%%
  kwi '09       2,19 GB  |   190,02 MB  |     2,38 GB   %%%%
  maj '09       1,72 GB  |   150,81 MB  |     1,86 GB   %%%
  cze '09       6,99 GB  |     4,27 GB  |    11,26 GB   %%%%%%%%%%%%%%::::::::
  lip '09       1,41 GB  |    69,35 MB  |     1,47 GB   %%
  sie '09       2,44 GB  |   131,24 MB  |     2,57 GB   %%%%%
  wrz '09       3,19 GB  |   251,71 MB  |     3,44 GB   %%%%%%
  pa� '09       8,71 GB  |   516,32 MB  |     9,22 GB   %%%%%%%%%%%%%%%%%:
  lis '09       4,46 GB  |   305,89 MB  |     4,76 GB   %%%%%%%%:
  gru '09       8,29 GB  |     1,89 GB  |    10,19 GB   %%%%%%%%%%%%%%%::::
  sty '10       7,03 GB  |     1,53 GB  |     8,56 GB   %%%%%%%%%%%%%:::
-------------------------+--------------+--------------------------------------
 estimated      9,09 GB  |     1,98 GB  |    11,07 GB
Rzeczywiście vnstat trzyma wszystko od momentu instalacji, ale chodziło mi o to, że w przypadku dnia rozliczenia innego niż pierwszy dzień miesiąca (ja mam rozliczenie 20 każdego miesiąca), muszę ręcznie zliczać dni. W przypadku miesięcy 31-dniowych jest problem, gdyż vnstat ma tylko 30 dni w pamięci dumpdb. Stąd moje uproszczenie co do ostatnich 30 dni.
Awatar użytkownika
darkwater
Junior Member
Posty: 828
Rejestracja: 25 stycznia 2007, 14:01
Lokalizacja: Częstochowa

Post autor: darkwater »

szmergiell, tak też pomyślałem, ale już po wysłaniu posta. Skrypt całkiem przydatny, dzięki.
ziecio
Posty: 86
Rejestracja: 10 kwietnia 2007, 11:58

Post autor: ziecio »

Dziękuje za pomoc, vnstat w pełni pokazał mi zużycie kb podczas korzystania z tekstowej przeglądarki. Całe szczęście jest ono niewielkie :) . Dzięki szmergiel za skrypt jego też przetestuje.
Awatar użytkownika
szmergiell
Beginner
Posty: 195
Rejestracja: 20 maja 2008, 00:16
Lokalizacja: Poznań

Post autor: szmergiell »

darkwater, ziecio, to tak się człowiek czuje, jak okaże się, że zrobił coś przydatnego? ;) A myślałem, że ten skrypcik to tylko takie coś z lenistwa :]
ziecio
Posty: 86
Rejestracja: 10 kwietnia 2007, 11:58

Post autor: ziecio »

A jednak lenistwo może prowadzić do czegoś pożytecznego, Pozdrawiam.
Awatar użytkownika
szmergiell
Beginner
Posty: 195
Rejestracja: 20 maja 2008, 00:16
Lokalizacja: Poznań

Post autor: szmergiell »

Drobna aktualizacja skryptu zliczającego wysłane i pobrane dane. Ze względu na liczbę określającą miesiąc i obliczanie minionego miesiąca, ucinało zero. Z tego powodu nastąpiło złe zliczanie liczby minionych dni. Konieczne było wymnożenie liczby roku przez 10, dzięki czemu pojawiło się brakujące zero :)

Kod: Zaznacz cały

#!/bin/sh

DATE=`vnstat --dumpdb | grep "d;" | awk 'BEGIN { FS = ";" } ; {print $3}'`

MB_RECEIVED=`vnstat --dumpdb | grep "d;" | awk 'BEGIN { FS = ";" } ; {print $4}'`
MB_SENT=`vnstat --dumpdb | grep "d;" | awk 'BEGIN { FS = ";" } ; {print $5}'`
KB_RECEIVED=`vnstat --dumpdb | grep "d;" | awk 'BEGIN { FS = ";" } ; {print $6}'`
KB_SENT=`vnstat --dumpdb | grep "d;" | awk 'BEGIN { FS = ";" } ; {print $7}'`

MB_RECEIVED_TODAY=`vnstat --dumpdb | grep "d;0" | awk 'BEGIN { FS = ";" } ; {print $4}'`
MB_SENT_TODAY=`vnstat --dumpdb | grep "d;0" | awk 'BEGIN { FS = ";" } ; {print $5}'`

PAYOFF_DAY=19
LIMIT=10000

YEAR=`date +%Y`
MONTH=`date +%m`
DAY=`date +%d`

TODAY=`date +%Y%m%d`

LAST_YEAR=$YEAR
if [ $DAY -le $PAYOFF_DAY ]; then
 LAST_MONTH=`expr $MONTH - 01`
 else
 LAST_MONTH=`expr $MONTH`
fi

if [ $LAST_MONTH -eq 0 ]; then
 LAST_YEAR=`expr $YEAR - 1`
 LAST_MONTH=12
fi

if [ $DAY -ge $PAYOFF_DAY ]; then
 MONTH=`expr $MONTH + 1`
 if [ $MONTH -gt 12 ]; then
  MONTH=01
  YEAR=`expr $YEAR + 1`
 fi
fi

if [ $LAST_MONTH -lt 10 ]; then
 LAST_YEAR=`expr $LAST_YEAR \* 10`
fi

LAST_PAYOFF=$LAST_YEAR$LAST_MONTH$PAYOFF_DAY
THIS_PAYOFF=$YEAR$MONTH$PAYOFF_DAY

days=0
for each_date in $DATE
do
 day=`date -d @$each_date "+%Y%m%d"`
 if [ $day -gt $LAST_PAYOFF ]; then
 days=`expr $days + 1`
 fi
done

var=0
for each_day in $MB_RECEIVED
do
 if [ $var -lt $days ]; then
  MB_RECEIVED_INTERNET=`expr $MB_RECEIVED_INTERNET + $each_day`
 fi
 var=`expr $var + 1`
done

var=0
for each_day in $KB_RECEIVED
do
 if [ $var -lt $days ]; then
  KB_RECEIVED_INTERNET=`expr $KB_RECEIVED_INTERNET + $each_day`
 fi
 var=`expr $var + 1`
done

var=0
for each_day in $MB_SENT
do
 if [ $var -lt $days ]; then
  MB_SENT_INTERNET=`expr $MB_SENT_INTERNET + $each_day`
 fi
 var=`expr $var + 1`
done

var=0
for each_day in $KB_SENT
do
 if [ $var -lt $days ]; then
  KB_SENT_INTERNET=`expr $KB_SENT_INTERNET + $each_day`
 fi
 var=`expr $var + 1`
done

KB=`expr $KB_RECEIVED_INTERNET + $KB_SENT_INTERNET`

KB_MB_INSIDE=`expr $KB / 1000`
KB=`expr $KB % 1000`

MB=`expr $MB_RECEIVED_INTERNET + $MB_SENT_INTERNET + $KB_MB_INSIDE`

LEFT_TRANSFER=`expr $LIMIT - $MB`

MIESIAC=`expr $LAST_MONTH % 7`
DLUGOSC=`expr $MIESIAC % 2`

if [ $DLUGOSC -eq 1 ]; then
 NO_OF_DAYS=31
 else
 NO_OF_DAYS=30
fi

if [ $LAST_MONTH -eq 2 ]; then
 NO_OF_DAYS=28
fi

if [ $DAY -gt $PAYOFF_DAY ]; then
 PAST_DAYS=`expr $DAY - $PAYOFF_DAY`
 else
 PAST_DAYS=`expr $NO_OF_DAYS - $PAYOFF_DAY + $DAY`
fi

LEFT_DAYS=`expr $NO_OF_DAYS - $PAST_DAYS + 1`
LIMIT_PER_DAY=`expr $LEFT_TRANSFER / $LEFT_DAYS`

SREDNIO=`expr $MB / $PAST_DAYS`

echo "dzień $PAST_DAYS: [$MB_RECEIVED_TODAY MiB / $MB_SENT_TODAY MiB]"
echo "pobrano $MB MiB"
echo "zostało $LEFT_TRANSFER MiB; $LIMIT_PER_DAY MiB/dzień"
ODPOWIEDZ