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

Latest Forum Discussions

See All

Six fantastic ways to spend National Vid...
As if anyone needed an excuse to play games today, I am about to give you one: it is National Video Games Day. A day for us to play games, like we no doubt do every day. Let’s not look a gift horse in the mouth. Instead, feast your eyes on this... | Read more »
Old School RuneScape players turn out in...
The sheer leap in technological advancements in our lifetime has been mind-blowing. We went from Commodore 64s to VR glasses in what feels like a heartbeat, but more importantly, the internet. It can be a dark mess, but it also brought hundreds of... | Read more »
Today's Best Mobile Game Discounts...
Every day, we pick out a curated list of the best mobile discounts on the App Store and post them here. This list won't be comprehensive, but it every game on it is recommended. Feel free to check out the coverage we did on them in the links below... | Read more »
Nintendo and The Pokémon Company's...
Unless you have been living under a rock, you know that Nintendo has been locked in an epic battle with Pocketpair, creator of the obvious Pokémon rip-off Palworld. Nintendo often resorts to legal retaliation at the drop of a hat, but it seems this... | Read more »
Apple exclusive mobile games don’t make...
If you are a gamer on phones, no doubt you have been as distressed as I am on one huge sticking point: exclusivity. For years, Xbox and PlayStation have done battle, and before this was the Sega Genesis and the Nintendo NES. On console, it makes... | Read more »
Regionally exclusive events make no sens...
Last week, over on our sister site AppSpy, I babbled excitedly about the Pokémon GO Safari Days event. You can get nine Eevees with an explorer hat per day. Or, can you? Specifically, you, reader. Do you have the time or funds to possibly fly for... | Read more »
As Jon Bellamy defends his choice to can...
Back in March, Jagex announced the appointment of a new CEO, Jon Bellamy. Mr Bellamy then decided to almost immediately paint a huge target on his back by cancelling the Runescapes Pride event. This led to widespread condemnation about his perceived... | Read more »
Marvel Contest of Champions adds two mor...
When I saw the latest two Marvel Contest of Champions characters, I scoffed. Mr Knight and Silver Samurai, thought I, they are running out of good choices. Then I realised no, I was being far too cynical. This is one of the things that games do best... | Read more »
Grass is green, and water is wet: Pokémo...
It must be a day that ends in Y, because Pokémon Trading Card Game Pocket has kicked off its Zoroark Drop Event. Here you can get a promo version of another card, and look forward to the next Wonder Pick Event and the next Mass Outbreak that will be... | Read more »
Enter the Gungeon review
It took me a minute to get around to reviewing this game for a couple of very good reasons. The first is that Enter the Gungeon's style of roguelike bullet-hell action is teetering on the edge of being straight-up malicious, which made getting... | Read more »

Price Scanner via MacPrices.net

Take $150 off every Apple 11-inch M3 iPad Air
Amazon is offering a $150 discount on 11-inch M3 WiFi iPad Airs right now. Shipping is free: – 11″ 128GB M3 WiFi iPad Air: $449, $150 off – 11″ 256GB M3 WiFi iPad Air: $549, $150 off – 11″ 512GB M3... Read more
Apple iPad minis back on sale for $100 off MS...
Amazon is offering $100 discounts (up to 20% off) on Apple’s newest 2024 WiFi iPad minis, each with free shipping. These are the lowest prices available for new minis among the Apple retailers we... Read more
Apple’s 16-inch M4 Max MacBook Pros are on sa...
Amazon has 16-inch M4 Max MacBook Pros (Silver and Black colors) on sale for up to $410 off Apple’s MSRP right now. Shipping is free. Be sure to select Amazon as the seller, rather than a third-party... Read more
Red Pocket Mobile is offering a $150 rebate o...
Red Pocket Mobile has new Apple iPhone 17’s on sale for $150 off MSRP when you switch and open up a new line of service. Red Pocket Mobile is a nationwide MVNO using all the major wireless carrier... Read more
Switch to Verizon, and get any iPhone 16 for...
With yesterday’s introduction of the new iPhone 17 models, Verizon responded by running “on us” promos across much of the iPhone 16 lineup: iPhone 16 and 16 Plus show as $0/mo for 36 months with bill... Read more
Here is a summary of the new features in Appl...
Apple’s September 2025 event introduced major updates across its most popular product lines, focusing on health, performance, and design breakthroughs. The AirPods Pro 3 now feature best-in-class... Read more
Apple’s Smartphone Lineup Could Use A Touch o...
COMMENTARY – Whatever happened to the old adage, “less is more”? Apple’s smartphone lineup. — which is due for its annual refresh either this month or next (possibly at an Apple Event on September 9... Read more
Take $50 off every 11th-generation A16 WiFi i...
Amazon has Apple’s 11th-generation A16 WiFi iPads in stock on sale for $50 off MSRP right now. Shipping is free: – 11″ 11th-generation 128GB WiFi iPads: $299 $50 off MSRP – 11″ 11th-generation 256GB... Read more
Sunday Sale: 14-inch M4 MacBook Pros for up t...
Don’t pay full price! Amazon has Apple’s 14-inch M4 MacBook Pros (Silver and Black colors) on sale for up to $220 off MSRP right now. Shipping is free. Be sure to select Amazon as the seller, rather... Read more
Mac mini with M4 Pro CPU back on sale for $12...
B&H Photo has Apple’s Mac mini with the M4 Pro CPU back on sale for $1259, $140 off MSRP. B&H offers free 1-2 day shipping to most US addresses: – Mac mini M4 Pro CPU (24GB/512GB): $1259, $... Read more

Jobs Board

All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.