Do you know how your routers are performing? What could you do to improve performance? I'll try to answer those questions by giving you some tips on monitoring and improving your router performance.

What is meant by router performance?

What network admins actually mean when they talk about router performance could vary from person to person, as there are several different aspects involved. Here are some of the issues related to how well your router performs:

Resource issues, such as the performance of the CPU and RAM

Router IOS configuration changes

Bandwidth management: Quality of Service (QoS)

Layer 1 network issues: Bad circuits or cables

Errors and failure of the router hardware

Let's cover each of these areas of router performance to learn how to monitor and potentially improve router performance.

Router resource issues

Just like any PC or server, routers have a CPU, RAM, and backplanes where the data flows between these component parts. Thus, at some point, every router's resources can be pushed to their maximum.

To help you get more details about your router's resource usage, there are some GUI performance tools available such as SDM, PRTG, or MRTG. Besides monitoring router CPU and RAM, these packages can also monitor interface utilization.

From the command line, here are a couple of very useful monitoring commands:

Router# show processes cpu

CPU utilization for five seconds: 5%/4%; one minute: 5%; five minutes: 5%

PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process

1 0 13 0 0.00% 0.00% 0.00% 0 Chunk Manager

2 28 675969 0 0.00% 0.00% 0.00% 0 Load Meter

And:

Router# show processes cpu history

Here is what its output looks like:

Click image to view router output.

You can also use show memory to get into detail on how the router's memory is being utilized.

What can you do to the router to resolve these resource issues? Well, the easiest answers are always either to send and receive less data, control what is sent with another bandwidth management solution, or to replace the router hardware with a newer, faster, router (for more information, see my article, "Case study: How a Cisco router upgrade affects network performance"). However, those aren't always possible and, as network admins, it is our job to get the most out of the hardware we have.

Router IOS configuration changes

Outside of controlling bandwidth utilization with your router (which we will talk about next), there are a few things you can do in your IOS to improve relative performance for the end users.

Change your method of switching used by your router - routers can actually process packets in different ways. For more information on this topic, see:

Tweak router buffers: While the default router buffer configuration is often optimal, there may be reasons you want to tweak the router buffers and this may lead to performance improvements. See Cisco's Modifying the System Buffer Size (Note: I don't recommend doing this without support from Cisco.)

Disable unneeded services: Perhaps someone enabled debug mode on the router or configured NetFlow or other resource-intensive applications. Another option may be that your routing table has grown over the years, and you need to do some route summarization, use stub networking, or just turn off default routing on an older, underpowered router.

Bandwidth management: Quality of Service (QoS)

To resolve performance issues or improve performance, you may need to implement some form of bandwidth and/or traffic management. This is commonly called Quality of Service (QoS) but there are many different types of QoS.

One quick way to see what the utilization is on your LAN or WAN circuit is to use the show interfacescommand and look for the TX/RX Load as well as the five-minute input/output rate. Here are some examples of the show interfacesoutput that I am referring to:

reliability 255/255, txload 1/255, rxload 1/255

5 minute input rate 0 bits/sec, 0 packets/sec

5 minute output rate 0 bits/sec, 0 packets/sec

I have personally used these to determine what is maxing out a router's circuit and to see in what direction that traffic is flowing.

Layer 1 network issues: Bad circuits or cables

Many times, the reason that users are complaining about performance is that there is a Layer 1 (Physical) network issue. For example, there is an issue with an Ethernet LAN cable or a T1 WAN connection. Errors that cause slow performance are especially common with WAN connections that span long distances.

The best way to check to see if your LAN or WAN connections are causing the slow performance is to use the show interfacescommand. For more information on that, please see my article, "Getting to know the show interfaces command."

Errors and failure of the router hardware

While the show interfacescommand might find issues with your connections, those errors could also be caused by your router hardware. For example, you could have a bad HWIC T1 card that is causing slow performance and causing errors to increment in the show interfaces output.

If this is a WAN circuit, many times, your carrier will assist you in testing and troubleshooting that circuit. Unfortunately, many carriers make you first prove that your hardware is not failing by replacing the router or the HWIC card.

Be proactive

Optimal router performance is critical. Never do you want to have your CIO come and tell you that a network connection is slow. You should be proactively monitoring those connections, and you should be able to quickly and easily check the issue causing that slow performance.