Latency is the time delay for a message to reach the intended recipient. Latency could be caused by a variety of factors like hardware, software or by network. Latency affects system performance and is an important criterion in measuring or estimating performance.
Types of Latency: There are different types of latency as follows:
- Hardware Latency
- Software Latency
- Network Latency
Let us take a look at each of the following:
1. Hardware Latency:
Hardware latency is generally induced by the hardware components. For example, the storage devices used like solid state, disk or tapes induce latency.
2. Software Latency:
Software latency is induced by the software components as the name implies. For example, if we are using third party software for load balancing, the software might inadvertently induce latency.
3. Network latency:
If the application components are deployed in geographically distributed regions, then the network latency between the regions should be taken into consideration.
For example, if a database is deployed in American region and the application which accesses the database is deployed in Singapore region, there could be a latency induced by the network. This should be factored in while estimating the overall application response time.
There are a few ways to overcome network latency. Generally, use of geographically distributed CDNs help in reducing latency, as the resources are served from local CDNs. Also, use of co-located servers help in reducing latency.