Hacker News new | past | comments | ask | show | jobs | submit login

If you're on a Mac, try the Network Link Conditioner from the Hardware IO tools downloads in Apple Dev portal.

http://www.neglectedpotential.com/2012/05/slow-your-apps-rol...

PS. The sleep trick is helpful, but in addition to latency, you ideally want to experience packet loss and other weirdness.




This can be done with native osx tools as well. Here's a snippet I created once:

  # First add a rule for all local traffic to port 80 to go into pipe 1
  # 100 is the rule number which will be used for referencing the rule later
  sudo ipfw add 100 pipe 1 ip from 127.0.0.1 to 127.0.0.1 dst-port http
  
  # To display the rule use
  # sudo ipfw show 100
  
  # configure the settings of the pipe as you please
  # 50kbit/s bandwidth
  sudo ipfw pipe 1 config bw 50Kbit
  # 200ms lag
  sudo ipfw pipe 1 config delay 200ms
  # 20% random packet loss
  sudo ipfw pipe 1 config plr 0.2
  
  # To display the current connections on the pipe use:
  # sudo ipfw pipe 1 show
  
  # when finished testing don't forget to delete rule and pipe
  sudo ipfw delete 100
  sudo ipfw pipe 1 delete


This looks great, do you know if there's an equivalent for linux? can you do something like this with iptables / ufw?


Try the tc command which allows you to control the traffic and set things like latencies, simulate physical congestion etc.


The one I have always used on Mac is SpeedLimit: http://mschrag.github.io/


For TCP connections packet loss will translate into latency... His method of simulation is not good, though. On linux, he could (probably) emulate this properly with NetEm and some virtual interfaces, by limiting rates and introducing actual "propagation delays"




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: