Practical tools for system, network, security, and operations administrators.

NET-C0160 · Performance & Capacity

Network Capacity Planning Guide

Turn a file size and a circuit rate into a time, then decide when a link is too full to wait.

Updated 25 October 2026 · Pillar guide

This is an original planning guide. It is not a vendor manual, an official standard, or legal advice. Example addresses use documentation ranges. Review every command before you paste it.

Bandwidth, throughput, and the number you can plan

Bandwidth is the rate a link can carry. Throughput is what a transfer actually gets. They meet only on an empty, clean path. Utilisation is how full the link already is. A circuit at 70 percent for a few minutes is a different fact from a circuit at 70 percent all afternoon. Ask for the busy hour, not the average of a quiet week.

The 95th percentile is a billing and a planning habit. Sort the samples, ignore the top 5 percent, and the next sample is the figure. It forgives a short burst and it does not forgive a link that is full every day. Use it when the contract uses it. Do not use it to hide a link that drops packets at the peak. Drops are the signal that the percentile was too kind.

Oversubscription is how many access bits share one uplink bit. A closet with twenty 1 gigabit ports and a 10 gigabit uplink is 2:1 if every port could fill, which they will not. A closet with forty 1 gigabit ports and a 1 gigabit uplink is 40:1, which is a complaint waiting for the day two people copy a disk. Write the ratio down. There is no universal good ratio. There is only the ratio you can defend with the transfers you named.

The calculators on this page turn rates and sizes into times and forecasts in the browser. They do not poll your interfaces. A forecast is an input you own. If you type a growth rate you invented, the tool will extend it faithfully. The responsibility for the input stays with you.

How long a copy takes when the path is empty

Moving 1 gigabyte at 100 megabits per second, counting a gigabyte as one thousand million bytes and ignoring protocol overhead, takes about 80 seconds. Overhead, loss, and a busy link make it slower. This is the ceiling, not the promise. A backup that must finish in an hour cannot use a path whose ceiling is already longer than an hour. Divide the real file by the real window and you have the minimum rate. If 80 seconds is already too long, you need a faster path, a smaller copy, or a longer window. You do not need a new routing protocol. Capacity planning starts with this arithmetic and only then asks whether the path can actually deliver the rate. A 10 gigabit interface with a 1 gigabit service provider still moves data at 1 gigabit. Read the contracted rate, not the optic.

Moving 1 gigabyte at 1000 megabits per second, counting a gigabyte as one thousand million bytes and ignoring protocol overhead, takes about 8.0 seconds. Overhead, loss, and a busy link make it slower. This is the ceiling, not the promise. A backup that must finish in an hour cannot use a path whose ceiling is already longer than an hour. Divide the real file by the real window and you have the minimum rate. If 8.0 seconds is already too long, you need a faster path, a smaller copy, or a longer window. You do not need a new routing protocol. Capacity planning starts with this arithmetic and only then asks whether the path can actually deliver the rate. A 10 gigabit interface with a 1 gigabit service provider still moves data at 1 gigabit. Read the contracted rate, not the optic.

Moving 1 gigabyte at 10000 megabits per second, counting a gigabyte as one thousand million bytes and ignoring protocol overhead, takes about 0.8 seconds. Overhead, loss, and a busy link make it slower. This is the ceiling, not the promise. A backup that must finish in an hour cannot use a path whose ceiling is already longer than an hour. Divide the real file by the real window and you have the minimum rate. If 0.8 seconds is already too long, you need a faster path, a smaller copy, or a longer window. You do not need a new routing protocol. Capacity planning starts with this arithmetic and only then asks whether the path can actually deliver the rate. A 10 gigabit interface with a 1 gigabit service provider still moves data at 1 gigabit. Read the contracted rate, not the optic.

Moving 1 gigabyte at 100000 megabits per second, counting a gigabyte as one thousand million bytes and ignoring protocol overhead, takes about 0.1 seconds. Overhead, loss, and a busy link make it slower. This is the ceiling, not the promise. A backup that must finish in an hour cannot use a path whose ceiling is already longer than an hour. Divide the real file by the real window and you have the minimum rate. If 0.1 seconds is already too long, you need a faster path, a smaller copy, or a longer window. You do not need a new routing protocol. Capacity planning starts with this arithmetic and only then asks whether the path can actually deliver the rate. A 10 gigabit interface with a 1 gigabit service provider still moves data at 1 gigabit. Read the contracted rate, not the optic.

Moving 10 gigabytes at 100 megabits per second, counting a gigabyte as one thousand million bytes and ignoring protocol overhead, takes about 800 seconds. Overhead, loss, and a busy link make it slower. This is the ceiling, not the promise. A backup that must finish in an hour cannot use a path whose ceiling is already longer than an hour. Divide the real file by the real window and you have the minimum rate. If 800 seconds is already too long, you need a faster path, a smaller copy, or a longer window. You do not need a new routing protocol. Capacity planning starts with this arithmetic and only then asks whether the path can actually deliver the rate. A 10 gigabit interface with a 1 gigabit service provider still moves data at 1 gigabit. Read the contracted rate, not the optic.

Moving 10 gigabytes at 1000 megabits per second, counting a gigabyte as one thousand million bytes and ignoring protocol overhead, takes about 80 seconds. Overhead, loss, and a busy link make it slower. This is the ceiling, not the promise. A backup that must finish in an hour cannot use a path whose ceiling is already longer than an hour. Divide the real file by the real window and you have the minimum rate. If 80 seconds is already too long, you need a faster path, a smaller copy, or a longer window. You do not need a new routing protocol. Capacity planning starts with this arithmetic and only then asks whether the path can actually deliver the rate. A 10 gigabit interface with a 1 gigabit service provider still moves data at 1 gigabit. Read the contracted rate, not the optic.

Moving 10 gigabytes at 10000 megabits per second, counting a gigabyte as one thousand million bytes and ignoring protocol overhead, takes about 8.0 seconds. Overhead, loss, and a busy link make it slower. This is the ceiling, not the promise. A backup that must finish in an hour cannot use a path whose ceiling is already longer than an hour. Divide the real file by the real window and you have the minimum rate. If 8.0 seconds is already too long, you need a faster path, a smaller copy, or a longer window. You do not need a new routing protocol. Capacity planning starts with this arithmetic and only then asks whether the path can actually deliver the rate. A 10 gigabit interface with a 1 gigabit service provider still moves data at 1 gigabit. Read the contracted rate, not the optic.

Moving 10 gigabytes at 100000 megabits per second, counting a gigabyte as one thousand million bytes and ignoring protocol overhead, takes about 0.8 seconds. Overhead, loss, and a busy link make it slower. This is the ceiling, not the promise. A backup that must finish in an hour cannot use a path whose ceiling is already longer than an hour. Divide the real file by the real window and you have the minimum rate. If 0.8 seconds is already too long, you need a faster path, a smaller copy, or a longer window. You do not need a new routing protocol. Capacity planning starts with this arithmetic and only then asks whether the path can actually deliver the rate. A 10 gigabit interface with a 1 gigabit service provider still moves data at 1 gigabit. Read the contracted rate, not the optic.

Moving 100 gigabytes at 100 megabits per second, counting a gigabyte as one thousand million bytes and ignoring protocol overhead, takes about 8000 seconds. Overhead, loss, and a busy link make it slower. This is the ceiling, not the promise. A backup that must finish in an hour cannot use a path whose ceiling is already longer than an hour. Divide the real file by the real window and you have the minimum rate. If 8000 seconds is already too long, you need a faster path, a smaller copy, or a longer window. You do not need a new routing protocol. Capacity planning starts with this arithmetic and only then asks whether the path can actually deliver the rate. A 10 gigabit interface with a 1 gigabit service provider still moves data at 1 gigabit. Read the contracted rate, not the optic.

Moving 100 gigabytes at 1000 megabits per second, counting a gigabyte as one thousand million bytes and ignoring protocol overhead, takes about 800 seconds. Overhead, loss, and a busy link make it slower. This is the ceiling, not the promise. A backup that must finish in an hour cannot use a path whose ceiling is already longer than an hour. Divide the real file by the real window and you have the minimum rate. If 800 seconds is already too long, you need a faster path, a smaller copy, or a longer window. You do not need a new routing protocol. Capacity planning starts with this arithmetic and only then asks whether the path can actually deliver the rate. A 10 gigabit interface with a 1 gigabit service provider still moves data at 1 gigabit. Read the contracted rate, not the optic.

Moving 100 gigabytes at 10000 megabits per second, counting a gigabyte as one thousand million bytes and ignoring protocol overhead, takes about 80 seconds. Overhead, loss, and a busy link make it slower. This is the ceiling, not the promise. A backup that must finish in an hour cannot use a path whose ceiling is already longer than an hour. Divide the real file by the real window and you have the minimum rate. If 80 seconds is already too long, you need a faster path, a smaller copy, or a longer window. You do not need a new routing protocol. Capacity planning starts with this arithmetic and only then asks whether the path can actually deliver the rate. A 10 gigabit interface with a 1 gigabit service provider still moves data at 1 gigabit. Read the contracted rate, not the optic.

Moving 100 gigabytes at 100000 megabits per second, counting a gigabyte as one thousand million bytes and ignoring protocol overhead, takes about 8.0 seconds. Overhead, loss, and a busy link make it slower. This is the ceiling, not the promise. A backup that must finish in an hour cannot use a path whose ceiling is already longer than an hour. Divide the real file by the real window and you have the minimum rate. If 8.0 seconds is already too long, you need a faster path, a smaller copy, or a longer window. You do not need a new routing protocol. Capacity planning starts with this arithmetic and only then asks whether the path can actually deliver the rate. A 10 gigabit interface with a 1 gigabit service provider still moves data at 1 gigabit. Read the contracted rate, not the optic.

A forecast you can explain

Suppose a WAN is at 400 megabits per second in the busy hour on a 1 gigabit service, and the business expects 20 percent more traffic next year. 400 times 1.2 is 480. The year after, 480 times 1.2 is 576. The year after that is about 691. You are still inside 1 gigabit if the growth is smooth and the busy hour is the one you measured. A step change, such as a new site or a backup that moves from night to noon, is not 20 percent. Put step changes in as their own lines. Do not hide them inside a percentage.

Headroom is the gap between 691 and 1000 in that story, about 300 megabits, before overhead. Overhead and a second busy application can eat it. Plan to upgrade before the busy hour sits at 80 percent of the contracted rate for a month, not the week after discards start. Lead time for a circuit is part of the plan. A forecast that says you need the circuit in March is useless if you order it in March.

Inside the building, the same arithmetic applies to a storage network and to a backup window. A nightly 10 terabyte copy, 10 times 1000 gigabytes, at 10 gigabits per second, has a ceiling near 8000 seconds, a little over two hours, before overhead. If the window is four hours, you have room. If the window is one hour, you do not, and no QoS policy creates the missing bits. QoS chooses who suffers. It does not increase the size of the pipe.

What to measure before you buy

Measure the busy hour for two weeks if you can, on the interface that is actually the bottleneck. A core graph at 10 percent does not prove the branch circuit is fine. Measure the branch. Note the direction. Many links are asymmetric, and the backup direction may be the full one.

Write the transfer that matters: who copies what, how large it is, and when it must finish. Then write the ceiling from the arithmetic above. If the ceiling is longer than the window, the design is already no. If the ceiling fits and the link is already busy, add the existing load. Empty-path arithmetic plus a full link is a collision.

Order the upgrade with the date the forecast crosses your threshold, minus the lead time. Put the graph and the arithmetic in the same ticket so a later cut does not depend on a vendor slideshow.

  1. Name the bottleneck interface and its contracted rate.
  2. Record the busy-hour throughput and the direction.
  3. Name the transfer size and the window.
  4. Compute the empty-path ceiling.
  5. Add the ceiling to the busy-hour load if they overlap in time.
  6. Set an upgrade date before sustained load reaches the threshold you wrote down.
  7. Subtract provider lead time from that date and order then.

Mistakes that buy the wrong circuit

Reading the optic speed and ignoring the service rate.

Using a weekly average to dismiss a daily peak.

Hiding a new backup job inside a 20 percent growth figure.

Expecting QoS to make a full link larger.

Planning a 40:1 closet uplink because the ports were cheap.

Forgetting that replication and user traffic share the noon hour.

Treating a calculator forecast as a measurement.

Ordering in the month the link fills, not when the lead time required.

Capacity checks before you accept the design

Confirm this before you call the change done: The busy hour is a measured figure with a direction, not a guess from a diagram. The contracted rate, not the interface speed, is the denominator. The largest transfer has a size, a window, and an empty-path ceiling written in seconds. That transfer is placed either inside or outside the busy hour on purpose. Oversubscription on each closet uplink is a ratio you can say out loud. Growth is split into a percentage and any step change you already know about. The upgrade date includes provider lead time. QoS classes are named only after the pipe is large enough for the traffic that must succeed. A second person recomputed one ceiling by hand. And documentation prefixes in the examples were not left in a production graph title as if they were customer networks. If one of those fails, stop.

Tools for this guide

These tools run in the browser on this site. They do not log into your machines.

Guides in this cluster

These supporting pages belong to this pillar.