It’s a common problem. Whether you are using your company’s VPN (virtual private network) or you’re having trouble with your IP telephone, or some other reason — the application you are using seems to be slow and sluggish.
It frustrates end users, because the speed of these applications also changes at a pace that may seem random and is hard to predict. All your end users really care about is using the tools they need. And they want them to be fast, not sluggish.
To be able to fix the problem, it helps to first understand what is causing it. So let’s dive in and take a look.
What Makes My Application Slow?
Information, whether it is provided over the Internet or your own business network is all broken down into smaller pieces of data known as “packets.” These data packets carry information about many things, including its destination (where its supposed to be going, such as your company database) and even error checking to be sure the packet made it in one piece. The speed, or amount of time it takes for a packet to cross the network from a device that created the packet (such as your laptop computer) to the destination device (such as your central business server) is called network latency.
In other words, when you see the word latency in this context, think “delayed speed.”
There are a few factors that create latency issues. Network routers typically create the most latency of any device on the end-to-end path. Packet queuing due to link congestion is most often the culprit for large amounts of latency through a router. Some types of network technology such as satellite communications add large amounts of latency because of the time it takes for a packet to travel across the link. Since latency is cumulative, the more links and router hops (passes between multiple devices such as your computer, routers, Internet provider equipment and the equipment on the destination side) there are, the larger the end-to-end latency will be.
The amount of available bandwidth also has a place in network and application speeds. Your available bandwidth is determined by the direction and destination of your information.
I like to think about bandwidth from the context of plumbing. Sure enough, people often refer to bandwidth as “the size of the pipe.” So why not carry that analogy further?
The pipe size is determined by the amount of available bandwidth on your local network first, but then by the size of your Internet pipe and the size of the destination pipe if the information is leaving your local network.
So if you’re on a gigabit network locally, but you have a 10MB Internet connection and your main office has a 100MB Internet connection you can see that the bottleneck may be your office Internet connection. But only if that pipe is full.
That pipe may be full if several users are trying to use high bandwidth resources over the Internet at the same time. Each VPN connection will have overhead, or video conferencing, ip telephony shared between offices, etc. The weakest point between the locations can cause the bottleneck, just as too many traffic hops can cause latency.
Some applications are more forgiving than others. Much of this revolves around whether an application will just send packets in one direction (User Datagram Protocol or UDP) or requires a connection to assure the data has arrived (Transmission Control Protocol or TCP). Both protocols have their upsides and downsides but every application uses one or the other based on the importance of the information
So How Can I Speed Up My Company’s Applications?
Well, now we know what causes slow network applications, so lets take a look at how we can fix some of these issues.
First, examine your latency. IT technicians perform a ping command between any computer having speed issues and the destination computer where you are trying to share resources, such as your server. This will show you the number of hops (or other network resources) your packet will take until it lands at its destination. Your goal is to take as many hops out of the equation as possible to shorten the trip.
If you are using multiple Internet connections, it may be difficult to remove some hops. This is where the choice of technology makes a difference. A technology such as Metro Ethernet can really help you reduce that overhead. It provides a network between multiple physical locations without having multiple Internet connections as it does not use routers, in general. It uses switches, which are faster because they are not opening the packets as they flow through the network … making it one network and reducing the number of hops.
Bandwidth is still important, however, for those who would be connecting outside of your office infrastructure. Be sure to carefully do the math on the needs of staff who will not work in your office and be sure to provide enough bandwidth for your current workload and theirs.
Ultimately, if handled correctly, you can actually save money using a combination of increased bandwidth at a source location and a Metro Ethernet provider who can share all of your resources with lower overhead between office locations.
* * * * *
More detail on Metro Ethernet can be found here for those looking for deeper technical knowledge.
Speed Photo via Shutterstock
I’ve heard about switches vs. routers. What is the cost difference?
In the case of a private network you really need both. One to separate the connection, the other to route the information to the right segment (computer or device). Switches, depending upon then type of switch, can be 50% the cost of a router unless they have some built in routing function of their own.
I didn’t realize that there was so much behind an apps ability to perform properly and quickly. The comparison of bandwidth to plumbing is more accurate than you would think.
Indeed, and this really only covers the internet portion of slow apps, your computer itself still does bear some responsibility in this mix.
Haha so that’s why our Internet hangs all of the sudden. I always thought it is because of my officemate who is constantly watching Youtube videos. I would always give him a sharp stare at the back hoping that he’ll get the message.
You cannot rule that out Aira 🙂
I always thought that the performance of an app is based on where it is running. Much like how a particular game runs on a good processor. But then again, I did not think there are so many things to consider behind it. Ed is right you know. Plumbing is a rather good illustration. Makes it easy for people like me to understand.
Craig,
Latency is a big problem that many often mistaken for bandwidth problems (“Hey, the Internet is slow today – the company should get more bandwidth.”)
What do you think of the cloud – can running your apps in the cloud solve – or at least, remedy – the latency problems?
Ivan, not necessarily. You really have to do your research. As a cloud app is still an internet based app and has its own network you will need to be sure that the cloud service has a reliable connection of its own. Using the cloud will take resources off your own local network for inbound traffic, and upstream internet connections are typically slower, but you will still have outbound traffic to the app as well.
The number of hops to the cloud app could actually be larger as well, and you have less ability to control that.
In the end, its all about research. Understanding your bandwidth needs and the role of latency can help you make the right decisions on your internet needs. You’re searching for a best effort resolution here.
Thanks for the explanation – does that also hold true for private cloud? If so then I assume wrong – I always assume the cloud can help solve the latency issue as data is technically served by the neared servers geographically.
If by “private cloud” you mean you have a dedicated resource, such as a server hosted by a 3rd party company, then this still holds true. You might have a cluster of servers syncing at multiple locations as a cloud service, in which case you could be reducing your latency by geography as you are getting info from the closest node in your cluster. Proxy servers have been used like that to serve news for large entities.
Craig: Do you about a site where you could check your different applications? It often says “calculating data (values)” in my Chrome browser. I am using a MacBook and have a modem and router.
Is it a third party application providing that statement? Sounds like it.