Changeset 4297 in genesis


Ignore:
Timestamp:
Apr 14, 2005, 4:04:56 PM (20 years ago)
Author:
dirk
Message:

een nieuwe pencontrl met fetch

Location:
tools/pencontrl
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • tools/pencontrl/pen.sh

    r4283 r4297  
    11#!/bin/sh
    2 thisdir=/usr/local/etc/rc.d
    3 killall pen
    4 /usr/local/bin/pen -b 30 -r -p /var/run/pen.pid -S 3 -O 172.31.255.1:3128 \
    5 `$thisdir/pencontrl.sh` &
     2echo "" > /tmp/proxylist
     3
     4get_fetch() {
     5  http_proxy="$1:$2"
     6  export http_proxy
     7  test=`fetch -T 10 -o /dev/null http://www.planet.nl 2>&1`
     8  if [ $? = 0 ]; then
     9    echo "`echo "$test" |grep kBps | \
     10    sed 's/^.*(//' | awk '{print $1}'` $1" >> /tmp/proxylist
     11  fi
     12}
     13
     14get_fetch proxy1.wleiden.net 3128
     15get_fetch proxy2.wleiden.net 3128
     16get_fetch proxy3.wleiden.net 3128
     17
     18sort -nr /tmp/proxylist > /var/db/proxylist
     19
     20kill `cat /var/run/pen.pid`
     21
     22/usr/local/bin/pen -b 30 -r -p /var/run/pen.pid -S 3 -O \
     23172.31.255.1:3128  `cat /var/db/proxylist | awk '{print $2}' | tr "\n" " "`
  • tools/pencontrl/pencontrl.sh

    r4283 r4297  
    11#!/bin/sh
    2 dir=/usr/local/etc/
    3 dbdir=/var/db
    4 echo > /tmp/proxytest
    5 for i in proxy1 proxy2 proxy3
    6 do
    7   http_proxy=http://$i.wleiden.net:3128/
    8   echo $i >> /tmp/proxytest
    9   wget -t 1 -T 100 -O /dev/null www.planet.nl 2>>/tmp/proxytest
    10 done
    11 awk -f $dir/awkpencontrl /tmp/proxytest | sort -r -n >$dbdir/pensequence
    12 awk '{print $2 " "}' $dbdir/pensequence | tr -d "\n"
     2echo "" > /tmp/tmp
    133
     4get_fetch() {
     5  http_proxy="$1:$2"
     6  export http_proxy
     7  test=`fetch -T 10 -o /dev/null http://www.planet.nl 2>&1`
     8  if [ $? = 0 ]; then
     9    echo "`echo "$test" |grep kBps | \
     10    sed 's/^.*(//' | awk '{print $1}'` $1" >> /tmp/tmp
     11  fi
     12}
     13
     14get_fetch proxy1.wleiden.net 3128
     15get_fetch proxy2.wleiden.net 3128
     16get_fetch proxy3.wleiden.net 3128
     17
     18sort -nr /tmp/tmp
     19
  • tools/pencontrl/readme.txt

    r4284 r4297  
    44      eerst wordt de lopende pen gekilld
    55      daarna wordt pen opgestart met proxies in volgorde van throughput
    6       dit wordt gedaan in het script pencontrl.sh
     6      dit wordt gedaan in het script pen.sh
    77
    88methode:
     9      De throughput wordt bepaald met fetch.
    910      Door de environment variabele http_proxy te veranderen in de
    10       verschillende proxies wordt met wget een pagina van planet
    11       binnengehaald en geschreven naar /dev/null
    12       de prestatie gegevens worden verwerkt en per proxy wordt er een
    13       regel in /var/db/pensequences geschreven
     11      verschillende proxies wordt met fetch een pagina van verschillende
     12      proxies binnengehaald en geschreven naar /dev/null
     13      De prestatie gegevens worden verwerkt en per proxy wordt er een
     14      regel in /tmp/proxylist geschreven
    1415      <aantal_bytes_per_seconde> <proxy_naam>
    15       Hierdoor kan in deze file altijd gezien worden wat de prestatie
     16      Daarna wordt deze lijst gesorteerd op het eerste veld en
     17      hierdoor kan in deze file altijd gezien worden wat de prestatie
    1618      van de proxies waren, op basis waarvan de volgorde van proxy
    1719      aanroep door pen wordt bepaald.
    18       pencontrl.sh maakt gebruik van een awk filter, die is gespecificeerd
    19       in /usr/local/etc/awkpencontrl
    2020
    21 randvoorwaarden:
    22       Om wget te laten werken is de library /usr/local/lib/libconv.so.3
    23       op de node gezet.
    24       Verder was het nodig om in /root/.cshrc op te nemen:
    25       setenv http_proxy http:proxy.wleiden.net:3128
    26       Zonder deze setting hadden de variable setting van http_proxy
    27       in het script geen betekenis als environment variabele.
    28       De gekozen setting is handig, omdat bij het inloggen meteen getest kan
    29       worden of pen werkt.
    30      
     21gebruikers support
     22      Het script pencontrl geeft direct de gesorteerde lijst van prox
     23      prestaties in kbytes/s.  Dit kan vergeleken worden met
     24      /var/db/proxylist zodat besloten kan worden of het zinvol is om over te gaan op
     25      een andere proxy.  In principe is www.proxy.wleiden.net altijd
     26      de beste, maar dit kan door de scheduling achter lopen bij de
     27      actuele situatie.     
Note: See TracChangeset for help on using the changeset viewer.