QNA > Q > Qual È Il Miglior Strumento Per Simulare Una Connessione Internet Lenta Su Un Mac?

Qual è il miglior strumento per simulare una connessione internet lenta su un Mac?

Sei fortunato! Poiché Mac OS X è basato su FreeBSD, avete già il miglior strumento al mondo per simulare reti lente. Si chiama ipfw, e consente di impostare limiti a livello di sistema sulle prestazioni di rete, in modo da poter vedere come qualsiasi applicazione, compresa una webapp all'interno di un browser, gestisce le deviazioni di larghezza di banda, latenza, ecc.

Perché questa piccola gemma è già installata, potete, se volete, smettere di leggere la mia risposta e leggere semplicemente il manuale: man ipfw o la pagina degli sviluppatori apple (notate soprattutto la sezione "TRAFFIC SHAPING").

Come per ogni strumento UNIX, gli usi complicati di ipfw possono diventare piuttosto spinosi, ma (diversamente da molti strumenti UNIX) l'uso di base è notevolmente semplice. Per definire una regola che usa una pipe per reindirizzare tutto il traffico da qualsiasi indirizzo sorgente a qualsiasi indirizzo di destinazione, eseguite il seguente comando (come root, o usando sudo):

  1. ipfw add pipe 1 all from any to any 

To configure this rule to limit bandwidth to 300Kbit/s and impose 200ms of latency each way, do

  1. ipfw pipe 1 config bw 300Kbit/s delay 200ms 

If you do ping localhost or try to load a web page, you'll notice the effects right away.

If you want different limits for incoming and outgoing traffic, try this instead:

  1. ipfw add pipe 1 all from any to any out  
  2. ipfw add pipe 2 all from any to any in  
  3. ipfw pipe 1 config bw 64Kbit/s  
  4. ipfw pipe 2 config bw 128Kbit/s 

To see what rules are currently active, type

  1. ipfw show 

If you want to remove pipe 1, do ipfw show, find the line for pipe 1, and note the number in the first column (probably 00100, if it was the first rule you added). Use this number to delete the rule:

  1. ipfw delete pipe 100 

To remove all rules and recover your original network connection, do

  1. ipfw flush 

See Abhijeet Joglekar's answer for further details on what ipfw is actually doing with your packets.

When I worked at Mozilla, I used ipfw as the basis for a test framework to measure the performance of the HTML5 parser's speculative resource fetching. It was reliable and, after some tuning, let me simulate satellite and mobile connections (where speculation matters the most) quite faithfully.

Di Reidar Opatrny

Quali sono le differenze tra Qualcomm Snapdragon 870 vs Snapdragon 865 Plus? :: Perché il silicio non riesce a superare il Qualcomm Snapdragon 865?
Link utili