Recently, I attended DevCon and came back with a variety of new tools and ideas to use in my future development. Today, I wanted to briefly talk about a tool mentioned during one of the DevCon sessions I attended.
The tool is called Network Link Conditioner. It is an awesome tool that allows you to simulate different network connections on your Mac, such as WiFi and 3G. You can even set your own custom network connections!
Why is this so awesome? Well, now you can do some of your different performance testing scenarios right on your Mac instead of the following:
- Disconnecting from Ethernet and using WiFi
- Pulling out the iPad or iPhone (For performance testing at least. Always test your solutions on the targeted devices)
- Calling John Smith across the country to test your solution over the WAN.
You can now set up a simulated WAN network connection and let John take a rest.
Network Link Conditioner is provided by Apple on its website. You must be an Apple Developer in order to get access to the tool. You can register to become a developer before you try to download. It is a part of a group of tools called Hardware IO Tools for Xcode. Note that you do not need to download Xcode. These tools have been separated from Xcode.
A second note to be aware of is that the October 2013 update has a fair number of bugs. It has been suggested that developers should download the earlier version, Late July 2012.
Once downloaded and installed, you can access the Network Link Conditioner from your Mac System Preferences. Setting up a simulated network connection is pretty straightforward.
For some fun, I created a blank layout and a script that creates 1000 new records. I tested the performance of the script locally, and then using a server over the WAN under my normal network connection, Wifi, Average Case, 3G Good Connectivity, and 3G Lossy Network.
Well, I think I learned that I should think twice about creating a batch number of records when using 3G.
This was a simple test, but it shows what kind of information you can glean from using the Network Link Conditioner.