how2perf02.htm

Performance issue: Performance over the Network is Slow

Caveat: Identifying performance issues on a computer and/or network is a very fickle and tricky thing to attempt because there are a virtual limitless number of issues that can affect performance in general. The ideas presented here are generic in their scope but may offer a glimpse into a possible solution at your facility and at least a direction you may follow to solve a problem.

This is an extremely complex issue, but in this article, we hope to provide helpful information that you can use to help speed-up the overall network performance on your computer. To get started, let's talk briefly about how computers communicate between one another.

Computers use a complex connection system called a "protocol." You might think of it as a language -- a person who speaks only English would likely have great difficulty communicating verbally with another person who speaks only Mandarin. Likewise, a computer that uses the TCP/IP protocol wouldn't be able to communicate with another computer that uses IPX/SPX. In short, for computers to talk to one another, they must be configured to use the same language -- the same protocol.

But the network protocol isn't the only thing necessary: once the two computers are configured with the same protocol, they need to use the same dialect as well. Take for instance an individual from London, England who is trying to converse with one of our down-home citizens of the deep American south. While both are generally speaking the English language, the method of pronunciation of the words makes it harder for the two to immediately understand one another -- it slows down the process of communication. The dialect concept could be equated to the "naming and addressing" structure of the protocol. In the TCP/IP protocol, this is the difference between "DHCP" and "direct" addressing.

First however, understand that like two houses on the same street cannot have the same address, neither can two computers on the same network. (For that matter, no two computers can have the same computer name either, but that's a different topic.) Each address must be unique. DHCP is more of an "automatic" method for assigning addresses while the direct method is a manual, planned method. Each has its own benefits.

DHCP is an acronym for "dynamic host configuration protocol" and its intent is to make networking easier. Here's generally how it works:

DHCP generally helps make configuring network computers easier because in a way, the network becomes somewhat self-configuring. Additionally, the above scenario usually happens quite fast, generally taking only a few seconds. Hardware-wise, a DHCP server can be a computer such as a Windows Server or Windows Small Business Server but in most cases, it's probably a relatively inexpensive piece of hardware about the size of a book and called a "router" that's plugged into the network.

But DHCP addressing does take some time, and the time delay in receiving an address on a large network with many computers can be a bit longer than on a smaller network. Or, if the DHCP server is set to manage a pool of only 10 addresses and you connect the 11th computer to the network, that 11th computer has to wait until one of the ten available addresses is no longer in use before it will be allowed to connect at all. Luckily, most DHCP servers are set to manage a pool of at least 25 addresses, but since this is a user configurable option, it becomes a consideration if you discover that a newly added computer just will not connect. It may be that all the available addresses are already in use!

With direct addressing, each computer is permanently configured with a specific numerical address in place of using DHCP. Then when the computer start up, it doesn't have to go search for a DHCP server and request an address -- it merely sends a signal out to the network to say, "Here I am." But if you combine DHCP and direct addressing on the same network, you must take care so that the direct addresses assigned are not in the DHCP address pool, or network addressing conflicts can occur. When that happens, both of the computers that have the same network address cease to function on the network. Usually a message appears on the screen of one or both of them that "another computer has the same address" just before they both disconnect but it's not hard to see that this would create problems.

Network speed tip #1: direct addressing is faster.

Let's talk hardware for a bit. A computer needs a network interface card (NIC) to be able to translate the electrical signals on the network into information that the computer can use. The NIC works at the base, electrical level, way before Windows gets involved and for the user to be able to use the information coming through the NIC, Windows uses "drivers" to allow Windows to communicate to the NIC itself. A "driver" is one or more pieces of software that the NIC manufacturer has designed and which must be installed on the computer. Luckily, Windows has many hundreds of drivers built-in for most of the major NIC manufacturers and Windows often can configure itself to the NIC card -- a really cool Windows feature. However, once in a while, Windows can't find a suitable driver of its own and you must install the one provided by the manufacturer. Dell computers are an example: the NIC circuitry built into a Dell computer usually requires that the special Dell driver be installed before the NIC becomes active. But why is this important to you?

After installation, NIC "drivers" are linked into the Windows registry as special files that Windows needs to load into memory at a specific point during the Windows startup process. These drivers contain a great many internal configuration settings that Windows needs so it can communicate to/from the NIC. The Windows registry is a very, very large configuration file that Windows uses as a guide to configuring itself not only to the computer's hardware, but to the other software that the user has installed and plans to use. Through the normal course of use, the registry is modified as software is started/stopped, new software added, updated or uninstalled or through the normal process of deletion/using the trash bin.

As the Windows registry is continually changed, the opportunity for corruption exists as well as the opportunity for multiple applications that "share" the same files to create some curious conflicts. For example, Windows includes a feature called "Windows update" which is intended to automatically hook up to the Microsoft web site, download newer versions of various core parts of the Windows operating system and install them. A lot of this happens behind-the-scenes, but sometimes after a Windows update, you're reminded to restart the computer for the new changes to take effect.

The Microsoft people work very hard to ensure excellent compatibility with existing hardware and software that are in the marketplace, but in reality, once in a while a change to their core operating system files proves less compatible with a special "driver" that is installed on your computer than you had previously. The result is usually a hit in the performance arena, and many of these changes involve networking issues because of the plethora of computing safety measures manufacturers take to help prevent identity theft through the Internet. Therefore, the drivers that worked with your NIC card before an update may not work as efficiently afterwards, and the overall result is slower throughput -- i.e. less speed in transferring data through your NIC to the network. Suddenly your computer seems to be "slower" than it used to be.

The normal solution to this is often to contact the manufacturer of the NIC card (or sometimes the computer manufacturer) for a new driver that is more compatible with the newest version of Windows. Most of these are available as downloads from the Internet.

Network speed tip #2: keep your computer's operation system and "low level" drivers up-to-date.

Another hardware issue is the actual, physical capabilities of the hardware components and wiring of your network. If your network wiring is very old, the wiring alone can limit the speed of your network, especially if some of the wiring is installed close to other electrical cables, motors or fluorescent lights. The electrical signal going through a network wire is very, very slight and electrical interference from outside sources like those mentioned can cause the network to seem slower because it causes the NIC cards to re-transmit their signals more frequently to ensure that the connections are sound. Think about it -- just one re-transmission means that the performance is cut by 50% since it takes two tries to accomplish what could be done with only one try on better wiring.

Network speed tip #3: install modern, shielded network wiring and don't route the cables near other electrical devices that produce electrical "noise."

Network speeds are commonly rated in MBPS, which stands for "megabits per second." While not exactly correct, it means roughly a million bits of data per second. This means that on a 1mbps network, the network can transfer 125,000 characters per second because in computerese, one character (i.e. one "byte" of data) is made up of  8 bits. So a 10mbps bandwidth network really has the maximum capacity of moving 1,250,000 characters per second. Of course, when you put multiple computers on the same network, that amount of bandwidth is shared by all the computers (well, not exactly, but it's true to some degree), and if all the computers are sending/receiving all the time, that contributes to a LOT of network "traffic." The more traffic you have, just like on a highway, the slower that traffic is moving. Therefore, if your browser is always running in the background or you have Internet-based applications updating themselves all the time, this may be adding unnecessary traffic on the network wire which has the effect of slowing everything down. Multiply this by 4 or 5 users and it's not hard to see why somebody might say, "Geez, is the network ever slow today!"

Network speed tip #4: If you're using applications that must always work through the network, reduce the number of them that are running simultaneously.

On a related note, the current basic standard is 10/100 networking and some manufacturers are producing gigabit network components, which are faster still. But 10/100 means that the network hardware can function at both 10 mbps speed and upwards of 100 mbps, roughly ten times faster. But to utilize the highest speed, you must have excellent wiring in place and, of course, NIC cards, routers and switches that have the 10/100 capability designed into them, too. Sometimes this results in replacing network equipment because if your computers have all 10/100 capability but your router is only a 10 mbps unit, you've effectively put a 10 mbps speed limit on your network because that's as fast as the router can go. Or if you install the ultra-fast gigabyte networking hardware but use older wiring, the wiring alone can negate the benefit of the new hardware. Want another analogy? Okay: imagine that you live and work in an area where the roads have a lot of speed bumps, potholes and once in a while, even some gravel. So you go out and buy a Ferrari, thinking you can get to work faster. How well is that Ferrari going to handle those potholes?

Network speed tip #5: get the fastest network equipment you can afford and make sure all the physical hardware components on your network have the same speed capability.

Another issue that affects your network speed is the number of applications running on your computer. For some reason, Windows' multitasking capability has turned us all into "power users" and it seems that because we can do it, we tend to open multiple applications and keep them running simultaneously. Well folks, you've got to step back and reevaluate whether this is the real "time-saver" that you think it is, because in actuality, if you have seven applications running simultaneously, it's likely that your computer's processor chip can provide only 1/7th (14%) of it's total power to any one application at a time. It's not rocket science to understand that fewer simultaneous applications affords more attention to each of them. A decent analogy might be a student to teacher ratio: what would you rather have for you youngster, one teacher to 30 students or one teacher to 15? 'Nuf said.

Network speed tip #6: open and use one application at a time instead of opening many and keeping them running by minimizing them onto the Windows taskbar.

Lastly, you may have to enlist the help of a network specialist to help you diagnose where the logjams are on your network. While it could be as simple as replacing a switch or router with a faster unit, it could be that the hardware is fine but the problem is in the wiring or the location of the wiring.

Operationally, working in a networked environment is a bit like having a party line telephone where the line is shared by many families. This means being a good neighbor to your co-workers and not unnecessarily contributing to network traffic which tends to slow everything down. But hopefully, this article will acquaint you with relatively easy ways to speed up your network.

Return to How-To Menu