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.

 

Community Search:
MacTech Search:

Software Updates via MacUpdate

Kill the Plumber World guide - How to ou...
You already know how to hop around like Mario, but do you know how to defeat him? Those are your marching orders in Kill the Plumber, and it's not always as easy as it looks. Here are some tips to get you started. This is not a seasoned platform... | Read more »
Planar Conquest (Games)
Planar Conquest 1.0 Device: iOS Universal Category: Games Price: $12.99, Version: 1.0 (iTunes) Description: IMPORTANT: Planar Conquest is compatible only with iPad 3 & newer devices, iPhone 5 & newer. It’s NOT compatible with... | Read more »
We talk to Cheetah Mobile about its plan...
Piano Tiles 2 is a fast-paced rhythm action high score chaser out now on iOS and Android. You have to tap a series of black tiles that appear on the screen in time to the music, being careful not to accidentally hit anywhere else. Do that and it's... | Read more »
Ultimate Briefcase guide - How to dodge...
Ultimate Briefcase is a simple but tricky game that’s highly dependent on how fast you can react. We can still offer you a few tips and tricks on how to survive though. Guess what? That’s exactly what we’re going to do now. Take it easy [Read more... | Read more »
SoundPrism Link Edition (Music)
SoundPrism Link Edition 1.0 Device: iOS Universal Category: Music Price: $4.99, Version: 1.0 (iTunes) Description: ***Introductory price for a the first few days after launch - if you're reading this, get it while it's fresh out of... | Read more »
Pre-register now for hack and slasher An...
Fincon, which won Facebook's Studio to Watch award in 2015, has announced that pre-registration is now open for the massive 3.0 update for its award-winning hack and slasher Angel Stone. Angel Stone is a post-apocalyptic action RPG in which the... | Read more »
Google has named Piano Tiles 2 as its Be...
Google has named Piano Tiles 2, which launched back in August last year, as its Best Game of 2015. If you're yet to play it, now's a good time to do so. It's a sequel to the hugely successful viral hit Piano Tiles (Don't Tap the White Tile) but... | Read more »
Sago Mini Trucks and Diggers (Education...
Sago Mini Trucks and Diggers 1.0 Device: iOS Universal Category: Education Price: $2.99, Version: 1.0 (iTunes) Description: Drive a dump truck with Rosie the hamster! Pile dirt high and dig deep in the ground with diggers, cranes and... | Read more »
Day One 2 Journal + Notes (Lifestyle)
Day One 2 Journal + Notes 2.0 Device: iOS Universal Category: Lifestyle Price: $4.99, Version: 2.0 (iTunes) Description: **New Release Sale—50% off for a Limited Time!** Capture life as you live it. From once-in-a-lifetime events to... | Read more »
Pull My Tongue (Games)
Pull My Tongue 1.0 Device: iOS Universal Category: Games Price: $.99, Version: 1.0 (iTunes) Description: Meet Greg. A hungry little chameleon that loves popcorn! Help feed Greg by pulling his tongue through a series of fun puzzles... | Read more »

Price Scanner via MacPrices.net

Watch Super Bowl 50 Live On Your iPad For Fre...
Watch Super Bowl 50 LIVE on the CBS Sports app for iPad and Apple TV. Get the app and then tune in Sunday, February 7, 2016 at 6:30 PM ET to catch every moment of the big game. The CBS Sports app is... Read more
Two-thirds Of All Smart Watches Shipped In 20...
Apple dominated the smart watch market in 2015, accounting for over 12 million units and two-thirds of all shipments according to Canalys market research analysts’ estimates. Samsung returned to... Read more
12-inch 1.2GHz Retina MacBooks on sale for up...
B&H Photo has 12″ 1.2GHz Retina MacBooks on sale for $180 off MSRP. Shipping is free, and B&H charges NY tax only: - 12″ 1.2GHz Gray Retina MacBook: $1499 $100 off MSRP - 12″ 1.2GHz Silver... Read more
12-inch 1.1GHz Gray Retina MacBook on sale fo...
B&H Photo has the 12″ 1.1GHz Gray Retina MacBook on sale for $1199 including free shipping plus NY sales tax only. Their price is $100 off MSRP, and it’s the lowest price available for this model... Read more
Apple now offering full line of Certified Ref...
Apple now has a full line of Certified Refurbished 2015 21″ & 27″ iMacs available for up to $350 off MSRP. Apple’s one-year warranty is standard, and shipping is free. The following models are... Read more
Free GUI Speedometer – The Ultimate Digital D...
Miami, Florida based RMKapps has announced the official release of GUI Speedometer 1.0, their digital dashboard display developed for iOS devices. GUI Speedometer allows users to track their precise... Read more
FutureCalc: Ergonomic iOS Calculator App For...
London, United Kingdom based Independent software developer and entrepreneur, Hovik Melikyan has announced the release and immediate availability of FutureCalc 1.0, his new ergonomic calculator app... Read more
Save up to $600 with Apple refurbished Mac Pr...
Apple has Certified Refurbished Mac Pros available for up to $600 off the cost of new models. An Apple one-year warranty is included with each Mac Pro, and shipping is free. The following... Read more
Apple’s ‘Next Big Thing’ Drought And Mature M...
Apple’s first fiscal quarter 2016 financial results yielded both good news and bad news. In the positive column, Apple made another boatload of money, reporting record quarterly revenue of $75.9... Read more
Lifeproof NUUD For iPhone 6S, iPhone 6S Plus...
LifeProof NUUD was designed to defy more than the elements. It defies logic itself by combining legendary four-proof protection and screenless technology to survive mountaintop missions and seaside... Read more

Jobs Board

*Apple* Macintosh OSX - Net2Source Inc. (Uni...
…: * Work Authorization : * Contact Number(Best time to reach you) : Skills : Apple Macintosh OSX Location : New York, New York. Duartion : 6+ Months The associate would Read more
Computer Operations Technician ll - *Apple*...
# Web Announcement** Apple Technical Liaison**The George Mason University, Information Technology Services (ITS), Technology Support Services, Desktop Support Read more
Restaurant Manager - Apple Gilroy Inc./Apple...
…in every aspect of daily operation. WHY YOU'LL LIKE IT: You'll be the Big Apple . You'll solve problems. You'll get to show your ability to handle the stress and Read more
Simply Mac *Apple* Specialist- Service Repa...
Simply Mac is the largest premier retailer of Apple products in the nation. In order to support our growing customer base, we are currently looking for a driven Read more
*Apple* IOS / OS X Level 3 Support Analyst -...
Needed: Apple Support Analyst (OS X / IOS); 50k-60k/yr +…Horizon Technology Partners has an immediate opening for an Apple IOS / OS X LEVEL 3 Support Analyst. Your Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.