Limitare la banda in download con squid: Difference between revisions

From RVM Wiki
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 37: Line 37:


Definiamo i limiti di questo pool numero 2:
Definiamo i limiti di questo pool numero 2:
  delay_parameters 2 5000/150000 5000/120000
  delay_parameters 2 64000/100000 60000/100000


Quindi:
Quindi:
* 2      = numero pool
* 2      = numero pool
* 5000  = oltre i 5000 bytes di dimensione, scatta la limitazione per il limite globale
* 64000  = lo scaricamento è limitato a 64kByte/sec (512kBit/sec) globalmente
* 150000 = lo scaricamento è limitato a 150kbit/sec globalmente
* 100000 = oltre i 100 kBytes di dimensione, scatta la limitazione per il limite globale
* 5000  = oltre i 5000 bytes di dimensione, scatta la limitazione per il limite singolo
* 60000  = lo scaricamento è limitato a 60kByte/sec (480kBit/sec) per singola connessione
* 120000 = lo scaricamento è limitato a 120kbit/sec per singola connessione
* 100000 = oltre i 100 kBytes di dimensione, scatta la limitazione per il limite singolo


Definiamo quindi quale traffico entra in questo pool, che sarà quello degli url contenenti le estensioni precedentemente definite:
Definiamo quindi quale traffico entra in questo pool, che sarà quello degli url contenenti le estensioni precedentemente definite:
Line 62: Line 62:


delay_class 2 2
delay_class 2 2
delay_parameters 2 5000/150000 5000/120000
delay_parameters 2 64000/100000 60000/100000
delay_access 2 allow files_limitati
delay_access 2 allow files_limitati
</pre>
</pre>
Line 70: Line 70:
*[http://tldp.org/HOWTO/Bandwidth-Limiting-HOWTO/index.html Bandwidth Limiting HOWTO]
*[http://tldp.org/HOWTO/Bandwidth-Limiting-HOWTO/index.html Bandwidth Limiting HOWTO]
*[http://www.deckle.co.za/squid-users-guide/Access_Control_and_Access_Control_Operators#Delay_Classes Spiegazione dei tipi di classe]
*[http://www.deckle.co.za/squid-users-guide/Access_Control_and_Access_Control_Operators#Delay_Classes Spiegazione dei tipi di classe]
*[http://groups.google.com/group/mailing.unix.squid-users/browse_thread/thread/b3ad4f9783d8e4a/d2b13e1d806bca42 Delay pools - mailing.unix.squid-users | Google Groups:]

Revision as of 13:03, 12 July 2007

E' possibile limitare la velocità di download attraverso il proxy, tramite l'utilizo dei Delay Pools

Inserire in squid.conf le seguenti direttive:

Per evitare di limitare dei download da siti intranet, definire l'acl:

acl traffico_intranet url_regex -i 192.168

Scegliamo di limitare il download solo di determinati tipi di files, definendo l'acl:

acl files_limitati url_regex -i ftp .exe .mp3 .vqf .tar.gz .gz .rpm .zip .rar .avi .mpeg .mpe .mpg .qt .ram .rm .iso .raw .wav .mov


Creiamo due delay pools:

delay_pools 2

Definiamo ora i parametri per il primo pool, definendolo di classe 2 (vedi di seguito)

delay_class 1 2
#First delay class (1) of second type (2).

Il tipo di classe di delay 2 permette di definire due tipi di limiti:

  • Il primo è il limite aggregato di velocità. Questo limite viene specificato nella forma a/b
    • a: dimensione in byte oltre il quale scatta la limitazione (files di dimensioni inferiori a questa vengono scaricatia a piena veloità, generando traffico burts)
    • b: limite di velocità in bit/sec
  • Il secondo è il limite specifico per ogni singolo ip connesso. Anch'esso è espresso nella stessa forma precedente.

Definiamo ora i limiti da imporre al pool 1, che vogliamo sia il pool senza limiti:

delay_parameters 1 -1/-1 -1/-1
#-1/-1 mean that there are no limits.

Ora definiamo quali connessioni ammettere in questo pool, che saranno quelle destinate agli indirizzi intranet:

delay_access 1 allow traffico_intranet

Definiamo ora il secondo pool anche questo di classe 2:

delay_class 2 2

Definiamo i limiti di questo pool numero 2:

delay_parameters 2 64000/100000 60000/100000

Quindi:

  • 2 = numero pool
  • 64000 = lo scaricamento è limitato a 64kByte/sec (512kBit/sec) globalmente
  • 100000 = oltre i 100 kBytes di dimensione, scatta la limitazione per il limite globale
  • 60000 = lo scaricamento è limitato a 60kByte/sec (480kBit/sec) per singola connessione
  • 100000 = oltre i 100 kBytes di dimensione, scatta la limitazione per il limite singolo

Definiamo quindi quale traffico entra in questo pool, che sarà quello degli url contenenti le estensioni precedentemente definite:

delay_access 1 allow files_limitati

Riassumendo:

acl traffico_intarnet url_regex -i 192.168
acl files_limitati url_regex -i ftp .exe .mp3 .vqf .tar.gz .gz .rpm .zip .rar .avi .mpeg .mpe .mpg .qt .ram .rm .iso .raw .wav .mov

delay_pools 2
 
delay_class 1 2
delay_parameters 1 -1/-1 -1/-1
delay_access 1 allow traffico_intranet

delay_class 2 2
delay_parameters 2 64000/100000 60000/100000
delay_access 2 allow files_limitati


Riferimenti