<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Application Performance Engineering Blog - Shunra Software &#187; glossary</title>
	<atom:link href="http://www.shunra.com/shunrablog/index.php/tag/glossary/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.shunra.com/shunrablog</link>
	<description>Supporting application performance management for IT professionals</description>
	<lastBuildDate>Wed, 08 Feb 2012 21:51:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>A Data Driven Transactional Application A glossary post</title>
		<link>http://www.shunra.com/shunrablog/index.php/2009/11/05/a-data-driven-transactional-application-a-glossary-post/</link>
		<comments>http://www.shunra.com/shunrablog/index.php/2009/11/05/a-data-driven-transactional-application-a-glossary-post/#comments</comments>
		<pubDate>Thu, 05 Nov 2009 18:57:31 +0000</pubDate>
		<dc:creator>Amichai Lesser</dc:creator>
				<category><![CDATA[Staff Posts]]></category>
		<category><![CDATA[Application Development]]></category>
		<category><![CDATA[Application Performance]]></category>
		<category><![CDATA[Application Testing]]></category>
		<category><![CDATA[glossary]]></category>
		<category><![CDATA[Performance Engineering]]></category>
		<category><![CDATA[Performance Testing]]></category>
		<category><![CDATA[WAN Performance]]></category>
		<category><![CDATA[Web Performance]]></category>

		<guid isPermaLink="false">http://www.shunra.com/shunrablog/?p=1704</guid>
		<description><![CDATA[A data driven transactional application supports the execution of business processes. Each business process (such as book sale, update employee status, submit work hours, etc.) is comprised of multiple business transactions. A business transaction is described as the interaction and managed outcome of a well-defined step within a business process. A transaction is usually triggered [...]]]></description>
			<content:encoded><![CDATA[<p>A data driven transactional application supports the execution of business processes. Each business process (such as book sale, update employee status, submit work hours, etc.) is comprised of multiple business transactions. A business transaction is described as the interaction and managed outcome of a well-defined step within a business process. A transaction is usually triggered by user interaction and its outcome can be measured and verified. The following is an example of a business process for updating an employee record and its underlying transactions as it is presented as part of a test plan for that business process:</p>
<p>Business Process Test Plan &#8211; Update employee record</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="128" valign="top"><strong>Transaction name</strong></td>
<td width="125" valign="top"><strong>Trigger</strong></td>
<td width="126" valign="top"><strong>Expected outcome</strong></td>
<td width="90" valign="top"><strong>Response time for a remote user</strong></td>
<td width="121" valign="top"><strong>Service Level Objective</strong></td>
</tr>
<tr>
<td width="128" valign="top"><strong><em>Sign in</em></strong></td>
<td width="125" valign="top">User enters his credentials into the sign in page and clicks submit</td>
<td width="126" valign="top">The user is signed in and the application displays the home page</td>
<td width="90" valign="top"></td>
<td width="121" valign="top">7 seconds</td>
</tr>
<tr>
<td width="128" valign="top"><strong><em>Navigate to company address book</em></strong></td>
<td width="125" valign="top">Click on “Company address book tab”</td>
<td width="126" valign="top">The company address book page is displayed</td>
<td width="90" valign="top"></td>
<td width="121" valign="top">3 seconds</td>
</tr>
<tr>
<td width="128" valign="top"><strong><em>Find employee</em></strong></td>
<td width="125" valign="top">Enter employee name in the search box</td>
<td width="126" valign="top">Employee search results are displayed</td>
<td width="90" valign="top"></td>
<td width="121" valign="top">7 seconds</td>
</tr>
<tr>
<td width="128" valign="top"><strong><em>Select employee</em></strong></td>
<td width="125" valign="top">Click on employee link</td>
<td width="126" valign="top">Employee data page is displayed</td>
<td width="90" valign="top"></td>
<td width="121" valign="top">7 seconds</td>
</tr>
<tr>
<td width="128" valign="top"><strong><em>Edit employee data</em></strong></td>
<td width="125" valign="top">Click on edit</td>
<td width="126" valign="top">Employee edit data page is displayed</td>
<td width="90" valign="top"></td>
<td width="121" valign="top">3 seconds</td>
</tr>
<tr>
<td width="128" valign="top"><strong><em>Update employee records</em></strong></td>
<td width="125" valign="top">Click on submit</td>
<td width="126" valign="top">Employee records are updates</td>
<td width="90" valign="top"></td>
<td width="121" valign="top">7 seconds</td>
</tr>
<tr>
<td width="128" valign="top"><strong><em>Sign out</em></strong></td>
<td width="125" valign="top">Click on sign out</td>
<td width="126" valign="top">Sign in page is displayed</td>
<td width="90" valign="top"></td>
<td width="121" valign="top">3 seconds</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.shunra.com/shunrablog/index.php/2009/11/05/a-data-driven-transactional-application-a-glossary-post/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Building Applications for a Remote Datacenter Part 1. The network impact</title>
		<link>http://www.shunra.com/shunrablog/index.php/2009/10/13/building-applications-for-a-remote-datacenter-part-1-the-network-impact/</link>
		<comments>http://www.shunra.com/shunrablog/index.php/2009/10/13/building-applications-for-a-remote-datacenter-part-1-the-network-impact/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 20:00:00 +0000</pubDate>
		<dc:creator>Amichai Lesser</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Featured Post]]></category>
		<category><![CDATA[Staff Posts]]></category>
		<category><![CDATA[Application Development]]></category>
		<category><![CDATA[Application Performance]]></category>
		<category><![CDATA[Application Performance Management]]></category>
		<category><![CDATA[Application Testing]]></category>
		<category><![CDATA[Bandwidth]]></category>
		<category><![CDATA[glossary]]></category>
		<category><![CDATA[Jitter]]></category>
		<category><![CDATA[Latency]]></category>
		<category><![CDATA[Network Emulation]]></category>
		<category><![CDATA[Network Emulator]]></category>
		<category><![CDATA[Network Performance]]></category>
		<category><![CDATA[Packet Loss]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Performance Engineering]]></category>
		<category><![CDATA[WAN Emulation]]></category>
		<category><![CDATA[WAN Optimization]]></category>
		<category><![CDATA[WAN Performance]]></category>
		<category><![CDATA[WAN Simulation]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[Web Performance]]></category>

		<guid isPermaLink="false">http://www.shunra.com/shunrablog/?p=1666</guid>
		<description><![CDATA[This series of posts is about the day after a data center move. Now that the data center is remote, how does this paradigm shift impact the way we should develop, test, deploy, monitor and troubleshoot applications. I will try to cover as many topics as possible, but the main focus is still going to be around the role application performance management plays in this new paradigm.]]></description>
			<content:encoded><![CDATA[<p>Ten years ago most organizations still had their data center located next to headquarters. Then 9/11 happened and the east cost blackout happened and Katrina, along with heavy increases in energy prices and real estate prices, Sarbanes-Oxley storage requirements, HIPAA security requirements and suddenly it didn&#8217;t make a lot of sense to keep the data center in proximity to headquarters. Therefore, in the past 10 years the IT world has experienced a growing trend of more and more companies migrating their data centers to remote locations (south and central US seem to be popular destinations for hosting data centers for North American companies). I wrote a lot about the impact that such a move has on application performance, there is even a whitepaper here: <a href="http://www.shunra.com/predicting-the-impact-of-data-center-moves-on-application-performance-whitepaper.php">http://www.shunra.com/predicting-the-impact-of-data-center-moves-on-application-performance-whitepaper.php</a></p>
<p>However this series of posts is about the day after a data center move. Now that the data center is remote, how does this paradigm shift impact the way we should develop, test, deploy, monitor and troubleshoot applications. I will try to cover as many topics as possible, but the main focus is still going to be around the role application performance management plays in this new paradigm.</p>
<p>I will start by covering the key reasons behind the performance impact that is experienced when applications are hosted in a remote data center? Those reasons are fairly intuitive, but it is important to understand them in depth in order to adequately plan for those new conditions. Two main things impact how applications perform when application servers are hosted in a remote data center vis a vis their application clients :</p>
<p>1. <strong>The performance of the network link between the client and the remote data center. </strong>This performance is defined by a set of network performance metrics that are <strong>application independent </strong>(for now we will ignore application aware networks, however the following basic concepts still hold in this scenario as well).</p>
<p>2. <strong>The application efficiency, specifically how efficient the application is when transferring data between the client and the remote server </strong>(and other tiers if applicable). This is an application attribute (and some time an attribute of a specific business process within the application). These attributes are <strong>application specific </strong>and are <strong>independent of any underlying network.</strong></p>
<p>Let&#8217;s start with understanding the network performance metrics. Consider the following scenario:</p>
<p>An application is hosted in a NYC data center, with users in 2 places, some are in a NYC headquarters next to that NYC data center and some are in a remote branch that is located in San Francisco. The question is: &#8220;will the application perform the same for both type of users (local users in headquarters and remote users in SF)? In other words will the application be as responsive to the San Francisco user as it is to the NYC user?”</p>
<p>Well the obvious answer is NO, in most cases a NYC user will enjoy a faster more responsive application. What is less obvious is why? What is it about the network that causes remote users to experience a slower application than local users? The rest of this post will cover that question, future posts will address the application specific attributes. Once we cover that we will be ready to examine best practices in building applications for a remote data center.</p>
<p>When I ask this question during my training seminars, I get a variety of answers, many of them are the right ones, but I would like to address one wrong answer that keeps repeating itself for some reason.</p>
<p><strong>Collisions</strong> – there is a general conception that collisions are common phenomena on the network which can explain any bad thing that happens to applications. The truth is that collisions are almost a thing of the past (on Enterprise LANs anyhow) and even when they happen they can’t explain why a remote user has a worst experience than a local user as both will experience a similar collision chance since collisions is a phenomenon that happens on local area Ethernet networks. If there are collisions on the Enterprise LAN it usually points to a configuration issue on a network device (like a duplex miss-match) but is still unrelated to the answer to our question.</p>
<p>Now to the right answers to the question, what is it about the Wide Area Network that causes applications to slow down:</p>
<p>There are 5 key conditions that predominately exist on Wide Area Networks and impact application performance, each in their own way:</p>
<p>1. <a href="http://www.shunra.com/shunrablog/index.php/2009/06/25/network-latency/"><strong>N</strong></a><strong><a href="http://www.shunra.com/shunrablog/index.php/2009/06/25/network-latency/">etwork Latency</a> </strong>– the time it takes a packet to traverse from a source to the destination across the network, measured in milliseconds [msec]. A typical WAN link will introduce latency in the range of 10msec – 500 msec.</p>
<p>2. <a href="http://www.shunra.com/shunrablog/index.php/2009/06/25/bandwidth-a-glossary-post/"><strong>Bandwidth constraints</strong></a> – how fast can data be processed by the network link, measured in bits per second [bps, Kbps, Mbps, Gbps]</p>
<p>3. <a href="http://www.shunra.com/shunrablog/index.php/2009/06/25/bandwidth-a-glossary-post/"><strong>B</strong><strong>andwidth utilization</strong></a><a href="http://www.excellingit.com/?p=14" target="_blank"> </a>(background traffic) – the percentage of bandwidth that is utilized by traffic that already exists on the link (background traffic).</p>
<p>4. <a href="http://www.shunra.com/shunrablog/index.php/2009/06/25/jitter-a-glossary-post/" target="_blank"><strong>Jitter</strong> </a>– the deviation of the inter packet gap of sequential packets across a network link, it is a result of the deviation of the network latency and is sometimes used interchangeably with that standard deviation, measured in milliseconds [msec].</p>
<p>5. <a href="http://www.shunra.com/shunrablog/index.php/2009/06/25/packet-loss-a-glossary-post/" target="_blank"><strong>Packet Loss</strong> </a>– the chance to drop a packet across an end to end network link, measured in %. Sometimes presented as the inverse metric called packet delivery rate.</p>
<p>The above are called network impairments, you can click on each one of the links to learn more about them and their causes.</p>
<p>Network impairments are performance conditions that inhibit the flow of data across a network. Each impairment type has an impact on the performance of business applications and network services. Some applications may be very sensitive to network impairments and some may be almost network agnostic. Sorting applications based on their network sensitivity is one of the important steps in performance engineering</p>
<p>In the next post we will discuss how application design can impact performance across the network. But in the mean time I would like to introduce a question for the group:</p>
<p>“We identified network latency as one of the key reasons that impact application performance; we also said that a typical WAN link will introduce 10 – 500 msec of latency. The question is, why does network latency have a big impact on application performance? surely a user doesn’t notice an increase of a few msec in response time, even 500 msec = ½ second goes by in a flinch. So think about it and let me know what you found based on your experience, why does network latency have such a big impact on application performance?”</p>
<p>Until next time,</p>
<p>Amichai Lesser</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shunra.com/shunrablog/index.php/2009/10/13/building-applications-for-a-remote-datacenter-part-1-the-network-impact/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Bandwidth &#8211; a glossary post</title>
		<link>http://www.shunra.com/shunrablog/index.php/2009/06/25/bandwidth-a-glossary-post/</link>
		<comments>http://www.shunra.com/shunrablog/index.php/2009/06/25/bandwidth-a-glossary-post/#comments</comments>
		<pubDate>Thu, 25 Jun 2009 21:25:50 +0000</pubDate>
		<dc:creator>Amichai Lesser</dc:creator>
				<category><![CDATA[Staff Posts]]></category>
		<category><![CDATA[Bandwidth]]></category>
		<category><![CDATA[glossary]]></category>

		<guid isPermaLink="false">http://www.shunra.com/shunrablog/?p=1263</guid>
		<description><![CDATA[Bandwidth constraints: Network capacity, or bandwidth, is the maximal number of bits a network connection or interface can carry at a given period of time. It is measured in bps (bits-per-second), Kbps, Mbps or Gbps. The greater the bandwidth, the greater the number of concurrent application sessions the link can serve (for a given transaction) and [...]]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto;"><span style="font-family: Times New Roman;"><strong><span style="font-size: 12pt;">Bandwidth constraints: </span></strong></span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal;"><span style="font-size: large; font-family: Times New Roman;"><span style="font-size: medium;">Network capacity, or bandwidth, is the maximal number of bits a network connection or interface can carry at a given period of time. It is measured in bps (bits-per-second), Kbps, Mbps or Gbps. The greater the bandwidth, the greater the number of concurrent application sessions the link can serve (for a given transaction) and the greater the rate that each application session can consume from the network. </span></span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal;"><span style="font-family: Times New Roman;"><strong><em><span style="font-size: 12pt;">Bandwidth Utilization: </span></em></strong></span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal;"><span style="font-size: large; font-family: Times New Roman;"><span style="font-size: medium;">Bandwidth utilization is a measure of how much of the link’s maximum data rate is being used. Consider an intuitive notion of utilization &#8211; it may start by picturing the WAN circuit as a pipe of a certain diameter and then imagining that it is partly filled with something we call traffic. Bandwidth utilization is a factor of the number of concurrent application sessions across the link and the average rate used by each session. For example, if a T1 link (1544 Kbps) serves an average of 20 concurrent application sessions and each session uses 50 Kbps on average each way then we would say that the link is 64.7% utilized ((50 Kbps * 20 sessions)/1544 kbps = 64.7%). </span></span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal;"><span style="font-size: large; font-family: Times New Roman;"><span style="font-size: medium;">Starting at 70% BU, network performance starts to degrade, 80% badly degraded, and 90+% “Flooded”. Smaller pipes, are subject to easier flooding, which will cause significant increased latency and jitter</span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shunra.com/shunrablog/index.php/2009/06/25/bandwidth-a-glossary-post/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jitter &#8211; a glossary post</title>
		<link>http://www.shunra.com/shunrablog/index.php/2009/06/25/jitter-a-glossary-post/</link>
		<comments>http://www.shunra.com/shunrablog/index.php/2009/06/25/jitter-a-glossary-post/#comments</comments>
		<pubDate>Thu, 25 Jun 2009 21:23:42 +0000</pubDate>
		<dc:creator>Amichai Lesser</dc:creator>
				<category><![CDATA[Staff Posts]]></category>
		<category><![CDATA[glossary]]></category>
		<category><![CDATA[Jitter]]></category>
		<category><![CDATA[Latency]]></category>

		<guid isPermaLink="false">http://www.shunra.com/shunrablog/?p=1274</guid>
		<description><![CDATA[Jitter:   Network jitter is the variation in the arrival rate of packets (more specifically, the inter packet gap of subsequent data packets as they arrive over a network). For most types of data applications large gap variations between arrival times (high jitter) are acceptable. For voice or video applications, relatively small jitter can cause perceptible [...]]]></description>
			<content:encoded><![CDATA[<div class="SecBody">
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><strong><span style="font-size: large;"><span style="font-family: Times New Roman;"><span style="font-size: medium;">Jitter:</span></span></span></strong></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: large; font-family: Times New Roman;"><span style="font-size: medium;"> </span></span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal;"><span style="font-size: large; font-family: Times New Roman;"><span style="font-size: medium;">Network jitter is the variation in the arrival rate of packets (more specifically, the inter packet gap of subsequent data packets as they arrive over a network). For most types of data applications large gap variations between arrival times (high jitter) are acceptable. For voice or video applications, relatively small jitter can cause perceptible disturbances in the recreated voice or video at the receiving end.<br />
Because Wide Area Networks over IP generally rely on shared access to the network and can have many asynchronous sessions all sharing the same network they tend to introduce relatively high jitter.</span></span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto;"><span style="font-size: large; font-family: Times New Roman;"><span style="font-size: medium;">Jitter can be reduced with buffers. Buffering some incoming packets and then outputting them at a more regular rate reduces jitter. This is fine for applications that are not interactive, such as streaming music or videos. For interactive applications such as VoIP conversations or video conferencing, this scheme will add network latency, which reduces the quality of the conversation.</span></span></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.shunra.com/shunrablog/index.php/2009/06/25/jitter-a-glossary-post/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Packet Loss &#8211; a glossary post</title>
		<link>http://www.shunra.com/shunrablog/index.php/2009/06/25/packet-loss-a-glossary-post/</link>
		<comments>http://www.shunra.com/shunrablog/index.php/2009/06/25/packet-loss-a-glossary-post/#comments</comments>
		<pubDate>Thu, 25 Jun 2009 21:17:36 +0000</pubDate>
		<dc:creator>Amichai Lesser</dc:creator>
				<category><![CDATA[Staff Posts]]></category>
		<category><![CDATA[glossary]]></category>
		<category><![CDATA[Packet Loss]]></category>

		<guid isPermaLink="false">http://www.shunra.com/shunrablog/?p=1268</guid>
		<description><![CDATA[Packet Loss: The term “packet loss” is used to describe the probability of dropping a packet at any point across the network link. The key reasons for packet loss across a network are:   When networks get congested over a long period of time the router buffers get saturated which at some point leads to a situation [...]]]></description>
			<content:encoded><![CDATA[<p><span style="font-size: 12pt;"><strong>Packet Loss: </strong></span></p>
<div><span style="font-size: 12pt;">The term “packet loss” is used to describe the probability of dropping a packet at any point across the </span><span style="font-size: 12pt;">network link. T</span><span style="font-size: 12pt;">he key reasons for packet loss across a network are:</span></div>
<div> </div>
<ul>
<li><span style="font-size: 12pt;">When networks get congested over a long period of time the router buffers get saturated which at some point leads to a situation where there is no room to store more pakets in the buffers, so new arriving packets get dropped</span></li>
<li><span style="font-size: 12pt;">Some routers implement a mechanism called random early detection, since IP doesn’t provide any explicit way to indicate that the network is congested, <span style="font-size: 12pt;">routers use loss for that purpose. Such loss is a way of communicating back to the users the need to </span><span style="font-size: 12pt;">scale back the offered load on the network. RED is becoming less common as new QoS techniques are used to implement rate control.</span></span></li>
<li><span style="font-size: 12pt;"><span style="font-size: 12pt;">Communications across wireless and cellular networks may encounter packet loss due to interference or a weak signal</span></span></li>
<li><span style="font-size: 12pt;"><span style="font-size: 12pt;">Hardware and cable errors are a common cause of packet loss</span></span></li>
</ul>
<p><span style="font-size: 12pt;">From the network perspective, loss can be categorized as </span><span style="font-size: 12pt;"><strong>random loss </strong></span><span style="font-size: 12pt;">or loss due to </span><span style="font-size: 12pt;"><strong>congestion</strong></span><span style="font-size: 12pt;">. </span><span style="font-size: 12pt;">The average packet loss rate for a network connection gives an overall sense of the quality of the </span><span style="font-size: 12pt;">connection. A connection with less than 1 percent average packet loss is considered a decent </span><span style="font-size: 12pt;">connection. But average loss doesn’t tell the whole story. There is importance to the type, or pattern, </span><span style="font-size: 12pt;">of packet loss. There are at least two kinds of packet loss that should be considered: </span><span style="font-size: 12pt;">‘Random’ loss and ‘Burst’ loss. To explain the difference between them, let’s suppose we are trying to </span><span style="font-size: 12pt;">run 2 Voice over IP conversation over 2 links that have an average of 1 percent packet loss. Call A </span><span style="font-size: 12pt;">loses one packet in every 100 packets over the entire call (random loss) while Call B loses 100 packets in two </span><span style="font-size: 12pt;">incidents &#8211; at the beginning and the end of the call (burst loss). Which call would you rather have? </span><span style="font-size: 12pt;">That’s why it is important to consider not just the average packet loss but also the type of loss and </span><span style="font-size: 12pt;">information on any bursts of packet loss over time.</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shunra.com/shunrablog/index.php/2009/06/25/packet-loss-a-glossary-post/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Network Latency</title>
		<link>http://www.shunra.com/shunrablog/index.php/2009/06/25/network-latency/</link>
		<comments>http://www.shunra.com/shunrablog/index.php/2009/06/25/network-latency/#comments</comments>
		<pubDate>Thu, 25 Jun 2009 20:48:19 +0000</pubDate>
		<dc:creator>Amichai Lesser</dc:creator>
				<category><![CDATA[Staff Posts]]></category>
		<category><![CDATA[glossary]]></category>
		<category><![CDATA[Latency]]></category>
		<category><![CDATA[Network Latency]]></category>

		<guid isPermaLink="false">http://www.shunra.com/shunrablog/?p=1254</guid>
		<description><![CDATA[In the next couple of posts I will add some glossary definitions that I see repeat in reader&#8217;s questions. I will also use these as I describe some of the performance analysis insights we experience in the field. Network Latency/Network Delay One-way network latency is defined as the amount of time it takes for a [...]]]></description>
			<content:encoded><![CDATA[<p>In the next couple of posts I will add some glossary definitions that I see repeat in reader&#8217;s questions. I will also use these as I describe some of the performance analysis insights we experience in the field.</p>
<p><strong>Network Latency/Network Delay</strong></p>
<p class="MsoNormal"><strong>One-way </strong>network latency is defined as the amount of time it takes for a packet to traverse a particular network path, from a device that created the packet to the destination device. This is also known as end-to-end latency.</p>
<p class="MsoNormal">Network delay is composed of <strong>propagation, processing, serialization, </strong>and<strong> queuing delay</strong>.</p>
<p class="MsoNormal"><strong> </strong></p>
<p class="MsoNormal"><strong>Propagation delay </strong>is the time it takes the physical signal to traverse the path. This delay is usually fairly constant if there are no route changes (it’s more constant if the end-points are static connected via optical fiber and has more variation if one of the end-points is a moving airplane or satellite). Propagation delay is the result of pure physics where as</p>
<p class="MsoNormal"><strong>t(msec) = d(distance)/(2/3rds of the speed of light)</strong></p>
<p class="MsoNormal">
<div class="MsoNormal"><strong> </strong><a href="http://www.excellingit.com/wp-content/uploads/2008/09/latency.jpg"><img class="size-medium wp-image-10" style="vertical-align: baseline" src="http://www.excellingit.com/wp-content/uploads/2008/09/latency.jpg" alt="Propagation Delay" width="291" height="135" /></a></div>
<p class="MsoNormal"><strong>Processing and Serialization delay </strong>is the aggregate time it takes each hop on the route to process and transmit the packet. Depending on bit-rate (bandwidth) it may be a significant portion of overall delay or may be negligible. In modern networks where high bit-rate connections are becoming the norm, serialization delay is becoming more and more negligible. In any case, for given packet size and path, serialization delay is constant (unless affected by hardware compression) and varies during route changes and as packet length changes. Processing time in each hop depends on the services that this hop provides (bridging, routing, encryption, compression, tunneling, etc.) and on the speed of the device itself but generally in modern networks this is a number of a much lower order of magnitude than the rest of the latency factors.</p>
<p class="MsoNormal"><strong> </strong></p>
<p class="MsoNormal"><strong>Queuing delay </strong>is the time a packet spends in router queues. This time depends naturally on queue lengths: for an unloaded network it would be negligible; for a network that is heavily congested it could considerably contribute to the end to end delay. It is the most variable delay component in a typical modern network. Queuing delay changes based on the burstiness of the traffic, since a burst of traffic creates an increase in the queue depth. Queuing delay is the main reason for jitter, which is caused by the variation of latency over time.</p>
<p class="MsoNormal"><a href="http://www.excellingit.com/wp-content/uploads/2008/09/queueing-delay.jpg"><img class="alignleft size-medium wp-image-11" src="http://www.excellingit.com/wp-content/uploads/2008/09/queueing-delay-300x76.jpg" alt="" width="300" height="76" /></a></p>
<p class="MsoNormal">
<p class="MsoNormal">
<p class="MsoNormal">
<p class="MsoNormal">
<p class="MsoNormal">
<p class="MsoNormal"><em>Queuing delay is the time packets wait inside the devices’ queues.</em></p>
<p class="MsoNormal"><strong>Latency and bandwidth together determine the “speed” of a connection.</strong></p>
<p class="MsoNormal">Latency can increase as the bandwidth utilization and traffic load changes but it will never go below the propagation delay (simple physics). As load increases, it is possible that latency will increase since buffers may begin to populate on the path between the sender and receiver.<strong> </strong></p>
<p class="MsoNormal">All in all, network latency is the combination of all factors described above. The impact of the network delay on application performance is a topic of a future post.</p>
<p class="MsoNormal"><strong>Best,</strong></p>
<p class="MsoNormal"><strong>Amichai</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shunra.com/shunrablog/index.php/2009/06/25/network-latency/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

