TweetFollow Us on Twitter

To Tune, or Not to Tune

Volume Number: 22 (2006)
Issue Number: 8
Column Tag: Tuning

To Tune, or Not to Tune

That is the Question

by Steve Modica

Welcome

One of the things I love about using a Mac is the way Apple supports their customers. Apple provides software and hardware to support the vast majority of their customers' needs. Their updates are reliable and simple, so that customers move to them quickly. As a result, I am typing this article on a system that is similar to 99% of all other Apple systems. If there is a bug lying in wait for me, chances are, someone else has discovered it, and the bug is fixed before I discover it. There is a lot to be said for strength in numbers.

Having spent many years supporting high performance computing customers, I have debugged many calls from customers who were quite sure they were not getting the best performance from their computers. In some cases; they were right! In most cases there were other factors that had nothing to do with system tuning. However, there is always this notion that some "wizard" can come along and wave his magic tuning wand, and for no additional investment, make your system go faster!

Sorting it Out

If you are a car mechanic, certainly, no one would tell you how to fix your car. There are experts who choose to change spark plug brands between summers and winters because they can detect a performance difference. Experts like these, also have the time, equipment, and experience to fix mistakes when they accidentally knock a hose off their engine while poking around. I'd like to refer to this as, "cars as a hobby." This is not about a need for a better-tuned car or a return on investment. It is about having fun working on your car and achieving perfection. These people are honing their art.

Like most PowerBooks, mine is a workhorse. It handles personal and business finances, email, web browsing, and various applications. There are gigabytes of data on there that are extremely important to my family, my business, and me. I don't believe my PowerBook is doing anything different from what Apple intended, nor do I need to tune it. There might be a 5% performance improvement somewhere if I tweak something here or there, but then my PowerBook is no longer like 99% of the other PowerBooks. But now, after making performance optimizations, my increased network performance or maximized disk performance puts me right at the front of the list for finding a hidden bug.

So when should you tune?

First, trying to tune a system that does not have the resources it requires to do the assigned job is like trying to tune a cheaply made guitar. If you are serious about getting work done, get a well-made guitar. Second, if the system's usage pattern is typical, do not tune your system. You are better off taking advantage of all the similarly configured systems doing the same thing that are tuned the same way. But if your system is being asked to do something special, like serving only really large video files, then perhaps tuning is something you may want to consider.

If you call the system your "mail server" or your "file server," then there is a good chance your system is doing a specific task much more often than a typical system. This is when you may find some benefit in tailoring the system configuration settings to that specific task.

Physical bottlenecks

Let's start by considering a fileserver. Assuming your Xserve or "repurposed" PowerMac is not quite making the grade as your fileserver. The first question you have to answer is:

Is this System Capable of Delivering the Performance I Need?

The best way to find this out is to first understand what your traffic looks like, and then break the problem down into easily measurable elements. Files must be read from disk into memory; memory must be turned into mbufs and routed onto the network. Depending on what client systems are doing, clients may need to pull data into memory and then store it to their local disk drives.

Your fileserver must have several resources to operate efficiently. Perhaps the most important resource is memory. Users tend to read the same data over and over again. Operating systems have long since taken this into account with the use of a buffer cache. A buffer cache is an area, set aside in memory, to store information temporarily. This is done so that the CPU can perform other tasks while the IO device fills up the buffer cache. The most recently read data is saved in memory so that it can be accessed quickly, without issuing a redundant read operation to the disk. Similarly, it is often the case that when we read the first byte of a file that we will continue to read many more bytes. Operating systems take this into account and perform read-ahead operations. This enables the operating system to have the data you need in memory even before you have requested it.

Assuming your system is equipped with ample resources; it is easy to isolate the physical limitations of the individual devices. For example, if you have 10 client systems retrieving data from a file server, and each client is achieving 90Mb/sec, then your aggregate network bandwidth is 900Mb/sec. This is the maximum bandwidth of a single Gigabit port. That is a very reasonable limitation. It follows then, that if you want better IO performance for your clients, you simply need to add additional Gigabit ports, and allocate these resources appropriately for each client. You may also see that your CPUs are at 100% utilization, or that your disk bandwidth is at its theoretical maximum throughput.

If you find that the system performs well at certain loads (1-3 clients), but begins to degrade drastically below its physical maximums as you add clients, then consider adding memory so that the operating system has more buffer cache to work with. It is very likely that you simply do not have enough memory, so that each client access requires a direct disk IO operation. If there is not enough memory for buffer cache or not enough memory for the operating system perform read-ahead operations, then disk IO operations become very inefficient.

One way to check how much memory is available for things like the Buffer Cache is to look at the Activity Monitor (Applications -> Utilities -> Activity Monitor). This utility allows the user to examine a number of system resources including CPU, memory and disk bandwidth. Looking at the System Memory pane, one can see how much memory the system is using. "Inactive" memory is memory that has been written out to disk, but is being kept around in case users attempt to access it again. Consider how much data each of your users is accessing and reusing continuously during an edit session. If a typical user is operating on 8GByte files and you have a few hundred MBytes of cached disk data, you probably do not have enough cache. Each time your users move around within their project, they are forcing the system to go back to disk, which creates a large number of inefficient IOs. Simply adding a few Gigabytes of memory will help performance immensely.

Why is it Sometimes Necessary To Tune Your Network?

Wouldn't it be great if somebody wrote a utility that analyzes your network and automatically selects the optimum settings? They already have! It's called TCP/IP, but occasionally it requires some attention. In most cases, TCP works remarkably well all by itself. Tuning is needed in cases where TCP is not optimized because the network behavior is not normal.

TCP/IP is not controlled by any manufacturer and is designed to work on almost any kind of underlying network with widely varying characteristics. To meet this challenge, the protocol designers made TCP adaptive. TCP is self monitoring and optimizes its own behavior to match the network environment. Adaptation takes time and the default settings cannot be optimized for every possible kind of network.

There are also many independent implementations, and the protocols continue to evolve in response to practical experience, and some implementations have peculiar compatibility constraints.

Typical network abnormalities are:

  • Asymmetric connections. These are connections that are much faster downstream, than upstream.
  • High performance connections with relatively long latency (measured in bytes) such as fiber optic, satellite, or point-to-point protocol (PPP) over a cellular network.
  • Point-to-point Protocol over Ethernet (PPPoE) implementations that restrict the maximum transmission unit (MTU) on the network without support for Path MTU Discovery or fragmentation.
  • Heavily congested links. Tuning cannot solve everything. You may need to restructure your network or use packet shaping to control traffic flows.

The key to optimization in such cases is to measure, adjust, and repeat. Notice that it's not necessary to find the perfect settings, only to get close enough that TCP works efficiently in your environment. The tools included with IPNetTunerX from Sustainable Softworks are designed to make this easy and show how well TCP is actually working. (Refer to http://sustworks.com for more information.) Keep it simple. IPNetTunerX offers a collection of presets to solve the most common tuning problems for users with asymmetric broadband connections.

The follow screen shot shows the Basic panel from IPNetTunerX. The Basic panel enables you to select presets that tune certain activities like connecting a Bluetooth phone or just browsing the internet.



Figure 1. IPNetTUnerX Basic Panel

The following screen shot shows the Advanced panel. The Advanced panel enables you to tune individual parameters like the TCP send and receive space.



Figure 2. IPNetTUnerX Advanced Panel

What if I have more than one kind of network connection, like wireless internet served through a satellite? Which one should I tune for?

Just as a chain is only as strong as its weakest link, you want to tune your connection to improve performance over the weakest link or bottleneck. If the connection is highly asymmetrical, has an MTU restriction, high latency, or some other problem, you make adjustments to compensate. The term tuning is misleading in this case because it suggests that you make adjustments to find the optimal setting. A "bottleneck bypass" is a better description. Getting around a bottleneck might reduce performance slightly in another area, but this usually isn't a problem.

Can I tune TCP differently for my Ethernet LAN versus Internet connection if they use different network ports?

TCP sits above the IP network layer so doesn't normally know how the underlying data is routed.

Can I tune TCP at my router, or do I need to tune TCP at each host on my LAN?

TCP is end-to-end, so it generally makes sense to tune TCP at one or both ends of the connection. Some devices offer a packet shaping feature that enables you to adjust TCP traffic flows to reduce congestion. Another possibility is to use a proxy server so that external connections originate from a different host. Depending on the problem, these might be appropriate but are generally more involved.


Steve Modica is CEO of Small Tree Communications, leading designer and manufacturer of high-performance network products for Mac OS X.

 
AAPL
$467.36
Apple Inc.
+0.00
MSFT
$32.87
Microsoft Corpora
+0.00
GOOG
$885.51
Google Inc.
+0.00

MacTech Search:
Community Search:

Software Updates via MacUpdate

Acorn 4.1 - Bitmap image editor. (Demo)
Acorn is a new image editor built with one goal in mind - simplicity. Fast, easy, and fluid, Acorn provides the options you'll need without any overhead. Acorn feels right, and won't drain your bank... Read more
Mellel 3.2.3 - Powerful word processor w...
Mellel is the leading word processor for OS X, and has been widely considered the industry standard since its inception. Mellel focuses on writers and scholars for technical writing and multilingual... Read more
Iridient Developer 2.2 - Powerful image...
Iridient Developer (was RAW Developer) is a powerful image conversion application designed specifically for OS X. Iridient Developer gives advanced photographers total control over every aspect of... Read more
Delicious Library 3.1.2 - Import, browse...
Delicious Library allows you to import, browse, and share all your books, movies, music, and video games with Delicious Library. Run your very own library from your home or office using our... Read more
Epson Printer Drivers for OS X 2.15 - Fo...
Epson Printer Drivers includes the latest printing and scanning software for OS X 10.6, 10.7, and 10.8. Click here for a list of supported Epson printers and scanners.OS X 10.6 or laterDownload Now Read more
Freeway Pro 6.1.0 - Drag-and-drop Web de...
Freeway Pro lets you build websites with speed and precision... without writing a line of code! With it's user-oriented drag-and-drop interface, Freeway Pro helps you piece together the website of... Read more
Transmission 2.82 - Popular BitTorrent c...
Transmission is a fast, easy and free multi-platform BitTorrent client. Transmission sets initial preferences so things "Just Work", while advanced features like watch directories, bad peer blocking... Read more
Google Earth Web Plug-in 7.1.1.1888 - Em...
Google Earth Plug-in and its JavaScript API let you embed Google Earth, a true 3D digital globe, into your Web pages. Using the API you can draw markers and lines, drape images over the terrain, add... Read more
Google Earth 7.1.1.1888 - View and contr...
Google Earth gives you a wealth of imagery and geographic information. Explore destinations like Maui and Paris, or browse content from Wikipedia, National Geographic, and more. Google Earth... Read more
SMARTReporter 3.1.1 - Hard drive pre-fai...
SMARTReporter is an application that can warn you of some hard disk drive failures before they actually happen! It does so by periodically polling the S.M.A.R.T. status of your hard disk drive. S.M.... Read more

Strategy & Tactics: World War II Upd...
Strategy & Tactics: World War II Update Adds Two New Scenarios Posted by Andrew Stevens on August 12th, 2013 [ permalink ] Universal App - Designed for iPhone and iPad | Read more »
Expenses Planner Review
Expenses Planner Review By Angela LaFollette on August 12th, 2013 Our Rating: :: PLAIN AND SIMPLEUniversal App - Designed for iPhone and iPad Expenses Planner keeps track of future bills through due date reminders, and it also... | Read more »
Kinesis: Strategy in Motion Brings An Ad...
Kinesis: Strategy in Motion Brings An Adaptation Of The Classic Strategic Board Game To iOS Posted by Andrew Stevens on August 12th, 2013 [ | Read more »
Z-Man Games Creates New Studio, Will Bri...
Z-Man Games Creates New Studio, Will Bring A Digital Version of Pandemic! | Read more »
Minutely Review
Minutely Review By Jennifer Allen on August 12th, 2013 Our Rating: :: CROWDSOURCING WEATHERiPhone App - Designed for the iPhone, compatible with the iPad Work together to track proper weather conditions no matter what area of the... | Read more »
10tons Discuss Publishing Fantasy Hack n...
Recently announced, Trouserheart looks like quite the quirky, DeathSpank-style fantasy action game. Notably, it’s a game that is being published by established Finnish games studio, 10tons and developed by similarly established and Finnish firm,... | Read more »
Boat Watch Lets You Track Ships From Por...
Boat Watch Lets You Track Ships From Port To Port Posted by Andrew Stevens on August 12th, 2013 [ permalink ] Universal App - Designed for iPhone and iPad | Read more »
Expenses Review
Expenses Review By Ruairi O'Gallchoir on August 12th, 2013 Our Rating: :: STUNNINGiPhone App - Designed for the iPhone, compatible with the iPad Although focussing primarily on expenses, Expenses still manages to make tracking... | Read more »
teggle is Gameplay Made Simple, has Play...
teggle is Gameplay Made Simple, has Players Swiping for High Scores Posted by Andrew Stevens on August 12th, 2013 [ permalink ] | Read more »
How To: Manage iCloud Settings
iCloud, much like life, is a scary and often unknowable thing that doesn’t always work the way it should. But much like life, if you know the little things and tweaks, you can make it work much better for you. I think that’s how life works, anyway.... | Read more »

Price Scanner via MacPrices.net

13″ 2.5GHz MacBook Pro on sale for $150 off M...
B&H Photo has the 13″ 2.5GHz MacBook Pro on sale for $1049.95 including free shipping. Their price is $150 off MSRP plus NY sales tax only. B&H will include free copies of Parallels Desktop... Read more
iPod touch (refurbished) available for up to...
The Apple Store is now offering a full line of Apple Certified Refurbished 2012 iPod touches for up to $70 off MSRP. Apple’s one-year warranty is included with each model, and shipping is free: -... Read more
27″ Apple Display (refurbished) available for...
The Apple Store has Apple Certified Refurbished 27″ Thunderbolt Displays available for $799 including free shipping. That’s $200 off the cost of new models. Read more
Apple TV (refurbished) now available for only...
The Apple Store has Apple Certified Refurbished 2012 Apple TVs now available for $75 including free shipping. That’s $24 off the cost of new models. Apple’s one-year warranty is standard. Read more
AnandTech Reviews 2013 MacBook Air (11-inch)...
AnandTech is never the first out with Apple new product reviews, but I’m always interested in reading their detailed, in-depth analyses of Macs and iDevices. AnandTech’s Vivek Gowri bought and tried... Read more
iPad, Tab, Nexus, Surface, And Kindle Fire: W...
VentureBeat’s John Koetsier says: The iPad may have lost the tablet wars to an army of Android tabs, but its still first in peoples hearts. Second place, however, belongs to a somewhat unlikely... Read more
Should You Buy An iPad mini Or An iPad 4?
Macworld UK’s David Price addresses the conundrum of which iPAd to buy? Apple iPad 4, iPad 2, iPad mini? Or hold out for the iPad mini 2 or the iPad 5? Price notes that potential Apple iPad... Read more
iDraw 2.3 A More Economical Alternative To Ad...
If you’re a working graphics pro, you can probably justify paying the stiff monthly rental fee to use Adobe’s Creative Cloud, including the paradigm-setting vector drawing app. Adobe Illustrator. If... Read more
New Documentary By Director Werner Herzog Sho...
Injuring or even killing someone because you were texting while driving is a life-changing experience. There are countless stories of people who took their eyes off the road for a second and ended up... Read more
AppleCare Protection Plans on sale for up to...
B&H Photo has 3-Year AppleCare Warranties on sale for up to $105 off MSRP including free shipping plus NY sales tax only: - Mac Laptops 15″ and Above: $244 $105 off MSRP - Mac Laptops 13″ and... Read more

Jobs Board

Sales Representative - *Apple* Honda - Appl...
APPLE HONDA AUTOMOTIVE CAREER FAIR! NOW HIRING AUTO SALES REPS, AUTO SERVICE BDC REPS & AUTOMOTIVE BILLER! NO EXPERIENCE NEEDED! Apple Honda is offering YOU a Read more
*Apple* Developer Support Advisor - Portugue...
Changing the world is all in a day's work at Apple . If you love innovation, here's your chance to make a career of it. You'll work hard. But the job comes with more than Read more
RBB - *Apple* OS X Platform Engineer - Barc...
RBB - Apple OS X Platform Engineer Ref 63198 Country USA…protected by law. Main Function | The engineering of Apple OS X based solutions, in line with customer and Read more
RBB - Core Software Engineer - Mac Platform (...
RBB - Core Software Engineer - Mac Platform ( Apple OS X) Ref 63199 Country USA City Dallas Business Area Global Technology Contract Type Permanent Estimated publish end Read more
*Apple* Desktop Analyst - Infinity Consultin...
Job Title: Apple Desktop Analyst Location: Yonkers, NY Job Type: Contract to hire Ref No: 13-02843 Date: 2013-07-30 Find other jobs in Yonkers Desktop Analyst The Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.