<?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; Network Emulation</title>
	<atom:link href="http://www.shunra.com/shunrablog/index.php/tag/network-emulation/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>Getting Accurate Results from Scalability Testing</title>
		<link>http://www.shunra.com/shunrablog/index.php/2010/10/21/getting-accurate-results-from-scalability-testing/</link>
		<comments>http://www.shunra.com/shunrablog/index.php/2010/10/21/getting-accurate-results-from-scalability-testing/#comments</comments>
		<pubDate>Thu, 21 Oct 2010 18:25:07 +0000</pubDate>
		<dc:creator>Tim Grant</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Staff Posts]]></category>
		<category><![CDATA[accurate results]]></category>
		<category><![CDATA[LoadRunner]]></category>
		<category><![CDATA[Network Emulation]]></category>
		<category><![CDATA[Network Latency]]></category>
		<category><![CDATA[scalability testing]]></category>
		<category><![CDATA[Shunra for HP Software]]></category>
		<category><![CDATA[Web Application load testing]]></category>
		<category><![CDATA[Web load testing]]></category>
		<category><![CDATA[Web Performance]]></category>

		<guid isPermaLink="false">http://www.shunra.com/shunrablog/?p=2207</guid>
		<description><![CDATA[None of us want our sites to crash like the Chase site outage in mid September. I’m not privy to the details of that site crash, but I can tell you that many sites degrade under peak user traffic unexpectedly and eventually crash. Why? It’s often incorrectly performed scalability tests. Over the years, I’ve met [...]]]></description>
			<content:encoded><![CDATA[<p>None of us want our sites to crash like the <a href="http://www.mainstreet.com/article/moneyinvesting/savings/chase-website-outage-aftermath?page=1">Chase site outage in mid September</a>. I’m not privy to the details of that site crash, but I can tell you that many sites degrade under peak user traffic unexpectedly and eventually crash. Why? It’s often incorrectly performed scalability tests. Over the years, I’ve met many load testing clients that were interested in “seeing the load level where the site crashes.” While this is a very interesting idea, it really shouldn’t have a place in today’s web site and Web Application load testing arena. Here is the real question that you should be asking yourself, “Will end users perceive good performance at peak traffic levels?” Let’s face reality, it does not matter if your site technically did not &#8220;crash&#8221; while supporting up to a million user visits per hour if your site was a total turn-off for all of those visitors due to poor site performance. It&#8217;s simple, validate that your site is fast under peak artificial traffic, and it will stand up under your peak end-user traffic, right? Only if your artificial traffic behaves the same as production traffic!</p>
<p>Good performance at peak loads should be something that we think about from design and development all the way through to the production environment.  It starts with understanding what users are going to do on the site, producing test scenarios that match that behavior, and applying those scenarios to your functionality and load testing efforts in the preproduction environment. Hopefully you are nodding your head as you just read my last sentence, but here is something that you may not have considered. Have you measured the Latency, Packet Loss, and bandwidth for your typical user population and recreated that in your preproduction environment?  “Why does it matter?”, you ask.  It can dramatically affect system performance and stability and always has an impact on end user performance.</p>
<p>Think about it this way, if you are load testing and functionality testing in the preproduction environment with lightning fast latency, near infinite bandwidth, and zero packet loss then you are gaming the system.  In the lab, your packet latency is less than 1 millisecond, but your users are going to be experiencing latencies of 30, 50, or even 100 milliseconds latency, which translates into keeping network resources tied up for much longer timeframes.  That leads to longer Web Session with more simultaneous HTTP connections and longer Application sessions, which can even affect the database. These are all infrastructure resources that are utilized differently using identical load scenarios and load levels, but have a dramatic impact on end user performance and reduce the scalability of the system.</p>
<div id="attachment_2208" class="wp-caption alignnone" style="width: 310px"><a href="http://www.shunra.com/shunrablog/wp-content/uploads/2010/10/Real-Network-in-the-Lab.png"><img class="size-medium wp-image-2208" src="http://www.shunra.com/shunrablog/wp-content/uploads/2010/10/Real-Network-in-the-Lab-300x164.png" alt="Real Network Conditions in the Lab Environment" width="300" height="164" /></a><p class="wp-caption-text">Real Network Conditions Play a Big Role in System Scalability</p></div>
<p>Applying end user latency, loss, and bandwidth <strong>is easy</strong> with tools like <a href="http://www.shunra.com/ve-desktop-overview">Shunra’s VE Desktop</a>, which can be used in functional testing to accurately apply the correct network conditions to boost accuracy with the latency that end users would experience in the real world. Shunra can go a step further and help you to determine the latency, loss, and bandwidth that you can plug right into the environment during testing using the <a href="http://www.shunra.com/ve-network-catcher">Network Catcher</a> tool.</p>
<p><a href="http://www.youtube.com/watch?v=_NKJZuUcivg&amp;feature=player_embedded#!"></a></p>
<p><a href="http://www.shunra.com/">Shunra</a> also has a variety of options for emulating network conditions during load testing ranging from  appliances Like the STA to software. The appliance acts like a router on steroids applying network impairments dynamically to the network traffic during the test treating traffic from different URLs and IPs like they are in different cities.</p>
<p>If you are using HP’s LoadRunner load testing tool, Shunra has an elegant solution called <a href="http://www.shunra.com/shunra_for_hp_software">Shunra for HP Software</a>, which works seamlessly with the LoadRunner during the load tests to apply the latency, packet loss, and bandwidth during these critical scalability tests.</p>
<p>Regardless of your testing methods, be sure to include identical network conditions into your testing for the most accurate results.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shunra.com/shunrablog/index.php/2010/10/21/getting-accurate-results-from-scalability-testing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LoadRunner and the Cloud – It’s here!!</title>
		<link>http://www.shunra.com/shunrablog/index.php/2010/05/19/loadrunner-and-the-cloud-its-here/</link>
		<comments>http://www.shunra.com/shunrablog/index.php/2010/05/19/loadrunner-and-the-cloud-its-here/#comments</comments>
		<pubDate>Wed, 19 May 2010 20:35:32 +0000</pubDate>
		<dc:creator>Dave Berg</dc:creator>
				<category><![CDATA[Featured Post]]></category>
		<category><![CDATA[Amazon EC2]]></category>
		<category><![CDATA[Amazon Web Services]]></category>
		<category><![CDATA[Application Performance Testing]]></category>
		<category><![CDATA[HP]]></category>
		<category><![CDATA[HP LoadRunner]]></category>
		<category><![CDATA[Mark Tomlinson]]></category>
		<category><![CDATA[Network Emulation]]></category>
		<category><![CDATA[Network Simulation]]></category>
		<category><![CDATA[Performance Testing]]></category>
		<category><![CDATA[Shunra for HP]]></category>
		<category><![CDATA[Shunra for HP Software]]></category>
		<category><![CDATA[VE Desktop for HP Software]]></category>
		<category><![CDATA[VE for HP]]></category>
		<category><![CDATA[WAN Emulation]]></category>
		<category><![CDATA[WAN Simulation]]></category>

		<guid isPermaLink="false">http://www.shunra.com/shunrablog/?p=2045</guid>
		<description><![CDATA[HP today announced an agreement with Amazon Web Services that enables you to run HP LoadRunner v9.5 in Amazon EC2.  The project is currently in beta, so it’s limited to the East US EC2 region, but does already include pre-built AMIs for your Controller (250 VUs) and any size of Load generator (32 or 64 [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.hp.com/go/loadrunnercloud" target="_blank">HP</a> today <a href="http://www.hp.com/hpinfo/newsroom/press/2010/100519xb.html" target="_blank">announced an agreement with Amazon Web Services</a> that enables you to run <a href="https://h10078.www1.hp.com/cda/hpms/display/main/hpms_content.jsp?zn=bto&amp;cp=1-11-126-17%5E8_4000_100__" target="_blank">HP LoadRunner</a> v9.5 in <a href="http://aws.amazon.com/hp/" target="_blank">Amazon EC2</a>.  The project is currently in beta, so it’s limited to the East US EC2 region, but does already include pre-built AMIs for your Controller (250 VUs) and any size of Load generator (32 or 64 bit).</p>
<p>It gets better!   For the beta program, HP is waiving all of their license fees!  (Amazon EC2 license/use fees still apply.)</p>
<p>And better yet!  Lots of reasons this is a win-win for HP LoadRunner customers:</p>
<ul>
<li>This makes LoadRunner significantly more available to testers.</li>
<li>Using this delivery model, we can expect LoadRunner to be significantly less expensive  AND easier to deploy.</li>
<li>Good-bye to  days of needing to own load testing software that you should be using regularly, but in reality may only use during specific phases of your SDLC.  Now you can pay for what you need, when you need it.</li>
<li>Also gone are the days of installing and upgrading LoadRunner.  Have you ever tried to download a 1.2GB installer over a slow link?</li>
<li>How about realizing that you need to uninstall a previous version before you can install the new one?  Now that HP and Amazon publish AMIs with the software pre-installed, all you need to do is spin-up the images you want and run them.</li>
</ul>
<p>While my enthusiasm for this development is clear, it should be said that it’s not all, “moonlight and canoes.”</p>
<p>The Controller AMI in the beta program is limited to 250 virtual users.  Since HP hasn’t published their pricing yet, it’s not clear how larger tests will be accommodated.  For now, the beta testing will limit us to mid-sized tests.  Considering the actual technology (LR 9.5) is already stable and known to work well in virtual environments, there is little doubt that this solution will be massively scalable.</p>
<p>You will also need scripts to run in LoadRunner.  For existing or former LoadRunner customers, this is as easy as accessing your scripts from EC2.  For net-new LoadRunner customers, this will require some work.  Thankfully, the script generation environment, Virtual User Generator makes it easy to create simple scripts and there is an extensive community of users and consultants to help you develop the scripts you need.</p>
<p>Be sure to watch Mark Tomlinson’s <a href="https://h10079.www1.hp.com/cda/hpms/display/main/hpms_content.jsp?zn=bto&amp;cp=1-11-126-17%5e44030_4000_100__&amp;jumpid=ex_r11374_us/en/large/eb/go_loadrunnercloud" target="_blank">video</a> where he explains the benefit of testing applications for the cloud in the cloud.  The main benefit Mark demonstrates is the ability to omit your corporate firewall from the test environment.</p>
<p>One BIG benefit of testing in the cloud is eliminating the public network from your test environment:  If you are testing an application in the cloud from your on-premise lab, then you’re subjecting your test data to an unknown world of latency, packet loss and bandwidth limits.  Testing a cloud application from an on-premise lab can produce useless results as they  have no correlation to how your application will actually perform from your end user’s perspective.</p>
<p>Another benefit I would be remiss if I didn’t mention is that Shunra’s integration with HP LoadRunner, <a href="http://www.shunra.com/shunra_ve_desktop_for_hp_software_overview.php" target="_blank">Shunra for HP Software</a> already works well in clouds.  Shunra for HP runs inside of LoadRunner and lets you decide what network impairments to test.  You can import your production data, pick from pre-defined settings, or specify ad-hoc values to make each Load Generator emulate a different network location.  By doing this, you can conduct a performance test for all of your end user locations, entirely in a cloud environment, all the while paying as you go.  I may be a little biased, but my argument is that the functionality of Shunra for HP completes the picture for anyone performance testing applications that will be accessed remotely – and who isn’t?</p>
<p>As a techie who started performance testing using a green-screen and writing my own protocol stacks because the applications I was testing insisted on using proprietary protocols, I am excited to see professional quality performance testing moving into the cloud.  Although this innovative solution hasn’t created much new technology, it did make existing technology consumable in the cloud.  This is sure to challenge other vendors  to step up to the plate, making other products and services more cloud-enabled.</p>
<p>What do you think?  Are there any reasons you would not use this capability?  What are some other products or services that <em>you</em> hope will make their way into the cloud this year?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shunra.com/shunrablog/index.php/2010/05/19/loadrunner-and-the-cloud-its-here/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>WAN Emulation vs WAN Simulation</title>
		<link>http://www.shunra.com/shunrablog/index.php/2009/12/30/wan-emulation-vs-wan-simulation/</link>
		<comments>http://www.shunra.com/shunrablog/index.php/2009/12/30/wan-emulation-vs-wan-simulation/#comments</comments>
		<pubDate>Wed, 30 Dec 2009 21:59:35 +0000</pubDate>
		<dc:creator>Ofer Fryman</dc:creator>
				<category><![CDATA[Staff Posts]]></category>
		<category><![CDATA[Application Performance]]></category>
		<category><![CDATA[Application Testing]]></category>
		<category><![CDATA[Network Emulation]]></category>
		<category><![CDATA[Network Performance]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Performance Testing]]></category>
		<category><![CDATA[Shunra]]></category>
		<category><![CDATA[Shunra Software]]></category>
		<category><![CDATA[User Experience]]></category>
		<category><![CDATA[WAN]]></category>
		<category><![CDATA[WAN Acceleration]]></category>
		<category><![CDATA[WAN Emulator]]></category>
		<category><![CDATA[WAN Simulation]]></category>

		<guid isPermaLink="false">http://www.shunra.com/shunrablog/?p=1831</guid>
		<description><![CDATA[One of the topics we are frequently asked is to explain or clarify the difference between WAN Emulation and WAN Simulation. WAN Simulation methodology is a set of theoretical algorithms which are usually applied on a trace file. These algorithms aim to predict applications response times with different conditions and then applied to the captured [...]]]></description>
			<content:encoded><![CDATA[<p>One of the topics we are frequently  asked is to explain or clarify the difference between <a href="http://www.shunra.com/wan-emulation.php" target="_blank">WAN Emulation</a> and <a href="http://www.shunra.com/shunra-ve-overview.php" target="_blank">WAN  Simulation</a>.</p>
<p>WAN Simulation methodology is a set  of theoretical algorithms which are usually applied on a trace file. These  algorithms aim to predict applications response times with different conditions  and then applied to the captured trace file. A typical use case would be varying  the conditions, such as available bandwidth and distance (latency), and then  predicting the impact on response time. The main challenge with this approach is  that those theoretical algorithms are based on assumptions.  Assumptions, which  are in some cases very wrong and skew the results. Typically, with theoretical  WAN Simulation you should expect around 70%  accuracy.</p>
<p>On the other hand, when we say  Emulation (or <a href="http://www.shunra.com/wan-emulator.php" target="_blank">WAN Emulation</a>) we mean that the application traffic will traverse  in real time through a path that is identical to the path we have in mind. An  appliance based <a href="http://www.shunra.com/wan-emulator.php" target="_blank">WAN Emulator</a> or software based <a href="http://www.shunra.com/wan-emulator.php" target="_blank">WAN Emulation</a> is usually present  to create actual network elements in software, bring into account network  impairment characteristics, such as distance (latency), bandwidth and loss. The  accuracy of WAN Emulation can exceed 99% depending on the level of  configuration. We can expect around 95% accuracy from a straight forward  automatic configuration.</p>
<p>Another important difference is time.  Theoretical WAN simulation may take days to run, but using WAN Emulation the  duration is based on the time it takes the application to run.</p>
<p>The main reason why <a href="http://www.shunra.com/wan-emulator.php" target="_blank">WAN Emulation </a> triumphs is accuracy.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shunra.com/shunrablog/index.php/2009/12/30/wan-emulation-vs-wan-simulation/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Improving the Quality for the End User</title>
		<link>http://www.shunra.com/shunrablog/index.php/2009/12/21/improving-the-quality-of-the-end-user/</link>
		<comments>http://www.shunra.com/shunrablog/index.php/2009/12/21/improving-the-quality-of-the-end-user/#comments</comments>
		<pubDate>Mon, 21 Dec 2009 23:04:31 +0000</pubDate>
		<dc:creator>Alex Weiss</dc:creator>
				<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[Network Emulation]]></category>
		<category><![CDATA[Network Performance]]></category>
		<category><![CDATA[Performance Testing]]></category>
		<category><![CDATA[Shunra Software]]></category>
		<category><![CDATA[User Experience]]></category>
		<category><![CDATA[WAN]]></category>
		<category><![CDATA[WAN Emulation]]></category>
		<category><![CDATA[WAN Emulator]]></category>

		<guid isPermaLink="false">http://www.shunra.com/shunrablog/?p=1795</guid>
		<description><![CDATA[One student at a time&#8230; Recently, I visited a company that develops and distributes software for Independent School District’s across USA. Their main product, originally developed for challenged kids, centers around dynamic computerized teaching and testing programs. This product proved to be so successful among this population that the company adapted it for other kids [...]]]></description>
			<content:encoded><![CDATA[<h2>One student at a time&#8230;</h2>
<p>Recently, I visited a company that develops and distributes software for Independent School District’s across USA. Their main product, originally developed for challenged kids, centers around dynamic computerized teaching and testing programs. This product proved to be so successful among this population that the company adapted it for other kids as well. Initially the product was designed to work in the classroom, hence a very simple architecture: 1 PC working as a learning manager.  This 1 PC managed the progress of individual students, as well as received and captured data back to computers across the LAN. However, because of such a high demand, the company decided to host a solution for multiple customers from a central location, specifically – a Cloud hosted server.</p>
<p>Since the original design was created with only a classroom setting in mind, testing and development only occurred over LAN. But now, with accessibility from different regions, including links from APAC countries to US, consideration of the WAN was critical. This required the need to test their solution in a new environment and see if any problems exist.  By analyzing this information, they gain a better understanding of how to fix any problems. With this challenge, the company needed a <a href="../../products-overview.php?keyword=products" target="_blank">WAN emulator </a> solution that would allow them to re-create the complex topology of the application served over WAN.</p>
<p>Once tested, they were able to easily reproduce the problems reported to the QA from the field. One issue that was noted &#8211; disconnections without the ability to reconnect, was leading to a loss of data and historical progress of the students in the program.  One of the key tools is tracking “task lists.”  One of the main advantages of the system is the ability to produce these new “task lists” for each student, based on historical data retrieved.  The new tasks matched the student’s progress in learning the subjects and fulfilling the tasks.</p>
<p>One other obstacle the company faced dealt with the USD security measures.  Since product was originally operating on a LAN environment, the security of outside access was a concern. As a result, certain ports were blocked and the company needed to understand how those ports will be affected from blocks in different directions of the link. <a href="../../products-overview.php?keyword=products" target="_blank">Shunra VE WAN Emulator</a> was able to reproduce such conditions by filtering application traffic based on protocol and ports, as well as IP addresses and blocking them in one direction – the problems were reproduced instantly. Now QA no longer has to rely on the reports generated from the field to try and fix the problems “in the dark”…  They now have a nice “flash light” to expose those reasons for the problem.</p>
<p>The impact of a broken link or just a simple delay in logging in can significantly impact students, especially the challenged ones.  Picture a child struggling to connect to the program, no sounds, no pictures… instead sitting with headphones and seeing on a screen: “Connecting&#8230;”  An unnerving experience for all of us, and even less for them (IMHO).  And what if after working for 20-30 minutes on a progressive task – they have to start over because computer lost all memory of what they were doing until now.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shunra.com/shunrablog/index.php/2009/12/21/improving-the-quality-of-the-end-user/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Impact of Latency on Cloud Computing</title>
		<link>http://www.shunra.com/shunrablog/index.php/2009/12/08/impact-of-latency-on-cloud-computing/</link>
		<comments>http://www.shunra.com/shunrablog/index.php/2009/12/08/impact-of-latency-on-cloud-computing/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 19:33:24 +0000</pubDate>
		<dc:creator>Yigal Gafni</dc:creator>
				<category><![CDATA[Featured Post]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Staff Posts]]></category>
		<category><![CDATA[Application Performance]]></category>
		<category><![CDATA[Application Testing]]></category>
		<category><![CDATA[Bandwidth]]></category>
		<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[Latency]]></category>
		<category><![CDATA[Network Analysis]]></category>
		<category><![CDATA[Network Emulation]]></category>
		<category><![CDATA[Network Latency]]></category>
		<category><![CDATA[Scientific Computing]]></category>
		<category><![CDATA[server capacity]]></category>
		<category><![CDATA[Shunra Software]]></category>
		<category><![CDATA[User Experience]]></category>

		<guid isPermaLink="false">http://www.shunra.com/shunrablog/?p=1736</guid>
		<description><![CDATA[The new buzzword around the IT block is “Cloud Computing”, the ability to avoid deploying costly infrastructure on each location by contracting a “virtual” infrastructure environment from dedicated vendors. Need to expand? Just call your provider and double your server capacity and triple your storage. However, we may need to apply a sobriety test, where [...]]]></description>
			<content:encoded><![CDATA[<p>The new buzzword around the IT block is “Cloud Computing”, the ability to avoid deploying costly infrastructure on each location by contracting a “virtual” infrastructure environment from dedicated vendors. Need to expand? Just call your provider and double your server capacity and triple your storage.</p>
<p>However, we may need to apply a sobriety test, where are those servers? And how far out is my virtual storage?  A recent article in Scientific Computing (<a href="http://www.scientificcomputing.com/articles-HPC-Cloud-Computing-Pie-in-the-sky-120109.aspx">http://www.scientificcomputing.com/articles-HPC-Cloud-Computing-Pie-in-the-sky-120109.aspx</a>) reminds us that the flexibility of an elastic infrastructure comes with strings attached.</p>
<p>The author presents a case for testing adequate bandwidth, as well as measuring and testing network latency.  Virtual machines can introduce additional latency through the time-sharing nature of the underlying hardware. Since the service provider — and not the scientist — control the hardware, unanticipated sharing and reallocation of machines can significantly affect runtimes.</p>
<p>My conclusion from this article, and others, dealing with the latency issues induced by Cloud Computing, is to include a rigorous testing phase before committing to a migration. An end to end latency measurement and emulation are probably the best ways to ensure smooth adoption of this exciting new technology.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shunra.com/shunrablog/index.php/2009/12/08/impact-of-latency-on-cloud-computing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building Applications for a Remote Datacenter Part 2 Application Efficiency Metrics</title>
		<link>http://www.shunra.com/shunrablog/index.php/2009/11/05/building-applications-for-a-remote-datacenter-part-2-application-efficiency-metrics/</link>
		<comments>http://www.shunra.com/shunrablog/index.php/2009/11/05/building-applications-for-a-remote-datacenter-part-2-application-efficiency-metrics/#comments</comments>
		<pubDate>Thu, 05 Nov 2009 19:02:58 +0000</pubDate>
		<dc:creator>Amichai Lesser</dc:creator>
				<category><![CDATA[Featured Post]]></category>
		<category><![CDATA[Staff Posts]]></category>
		<category><![CDATA[Application Performance]]></category>
		<category><![CDATA[Application Testing]]></category>
		<category><![CDATA[Bandwidth]]></category>
		<category><![CDATA[datacenter]]></category>
		<category><![CDATA[enterprise-data-driven- transactional a]]></category>
		<category><![CDATA[HP LoadRunner]]></category>
		<category><![CDATA[HP Performance Center]]></category>
		<category><![CDATA[HP Software]]></category>
		<category><![CDATA[Latency]]></category>
		<category><![CDATA[Load testing]]></category>
		<category><![CDATA[Network Emulation]]></category>
		<category><![CDATA[Network Emulator]]></category>
		<category><![CDATA[Network Performance]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Performance Testing]]></category>
		<category><![CDATA[Shunra]]></category>
		<category><![CDATA[Shunra Software]]></category>
		<category><![CDATA[transaction reponse]]></category>
		<category><![CDATA[User Experience]]></category>
		<category><![CDATA[WAN Emulation]]></category>
		<category><![CDATA[WAN Optimization]]></category>
		<category><![CDATA[WAN Performance]]></category>
		<category><![CDATA[WAN Simulation]]></category>

		<guid isPermaLink="false">http://www.shunra.com/shunrablog/?p=1698</guid>
		<description><![CDATA[In the previous post we identified the Wide Area Network and the impairments that it introduces as a key reason for why a local user (let’s say in NYC) experiences a faster application than a user that is remote to his datacenter (let’s say in Tokyo). I also presented a question to the group: “We [...]]]></description>
			<content:encoded><![CDATA[<p>In the <a href="http://www.shunra.com/shunrablog/index.php/2009/10/13/building-applications-for-a-remote-datacenter-part-1-the-network-impact/">previous post</a> we identified the Wide  Area Network and the impairments that it introduces as a key reason for why a  local user (let’s say in NYC) experiences a faster application than a user that is remote to his datacenter (let’s say in Tokyo). I also presented a question to the group: “We  identified network latency as one of the key reasons that impact application  performance to a remote datacenter; we also said that a typical WAN link will introduce 10 – 500 msec  of latency. The question is, why does network latency impact application  performance, surely a user doesn’t notice an increase of a few milliseconds in  response time, even 500 milliseconds = ½ second goes by in a flinch. So why does  network latency have such a big impact on application performance when the data center is remote?”</p>
<p>The following posts will  answer this question and more, but in order to get answers we need to first  address additional questions:</p>
<p>Consider the remote user  in Tokyo, he is accessing multiple applications that are all hosted in the remote NYC  data center.</p>
<p>Will all these  applications perform the same way once hosted in a remote data center?</p>
<p>The obvious answer is NO,  some applications will perform well even when users are remote to the data center, while others will provide  intermittent poor performance and some will always perform poorly for a remote  user.</p>
<p>The answers to the next  questions are less obvious:</p>
<ul>
<li> Why do some applications  perform well in remote data centers while others fail miserably?</li>
<li> What is it about the way applications are designed and architected in a remote data center that allows some applications to  perform better than others?</li>
<li> What are the key design  flaws that cause applications to perform poorly in a remote data center?</li>
</ul>
<p>Since there are a lot of  different applications, there are also a lot of different answers to these  questions. In the next couple of posts we will focus on <a href="http://www.shunra.com/shunrablog/index.php/2009/11/05/a-data-driven-transactional-application-a-glossary-post/">enterprise-data-driven- transactional </a>applications and their performance flaws over the network (ignoring for a  moment back-end or desktop related bottlenecks). We will further limit this  category to client server based applications, ignoring for a moment the  complexity of N-Tier applications and multi web service based applications,  these will be dealt with in future posts.</p>
<p>Over the years I was  asked to analyze performance problems for many transactional applications and  specifically analyze their performance degradation when users are remote to their data center, the  following are the key application metrics that I found are related to  performance degradation over the network:</p>
<ol>
<li> The number of application turns per  transaction (or how chatty the application is)</li>
<li> The transaction size (or how much data needs to be  downloaded from the server to the client in order to complete each  transaction)</li>
<li> The transaction efficiency factor (how much data a  transaction downloads per application turn)</li>
<li>The blocking nature of object retrieval (can the transaction retrieve multiple objects concurrently or is each object download blocking other object requests from being processed)</li>
<li>The transaction redundancy metric (or how much of the same data is being retrieved by all the requests made by this transaction). It seems like this metric should always be zero, but you will be surprised how often this is the single reason behind performance problems.</li>
<li>The transaction initialization size (how much data does  the transaction download initially Vs. sequential navigational  steps)</li>
<li> The caching ratio (how much data is cached locally as a  percentage of the overall data needed by the  application)</li>
<li> The latency scale factor (How does the backend’s  ability to scale change when network latency is added between front end clients  and the backend)</li>
</ol>
<p>Measuring and observing these metrics allows for the deep level analysis that is required to identify performance bottlenecks. This information also helps to point out to application developers and system engineers what needs to be changed in order to remediate application performance problems.</p>
<p>In the next  couple of posts I will explain each of the above factors and describe how each  of them impacts application performance, so sign up for the RSS feed  to get notification on these future posts.</p>
<p>Until then&#8230;</p>
<p>Amichai Lesser</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shunra.com/shunrablog/index.php/2009/11/05/building-applications-for-a-remote-datacenter-part-2-application-efficiency-metrics/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Hosted Load Testing II</title>
		<link>http://www.shunra.com/shunrablog/index.php/2009/10/30/hosted-load-testing-ii/</link>
		<comments>http://www.shunra.com/shunrablog/index.php/2009/10/30/hosted-load-testing-ii/#comments</comments>
		<pubDate>Fri, 30 Oct 2009 15:34:09 +0000</pubDate>
		<dc:creator>Dave Berg</dc:creator>
				<category><![CDATA[Featured Post]]></category>
		<category><![CDATA[Staff Posts]]></category>
		<category><![CDATA[Application Performance]]></category>
		<category><![CDATA[Application Performance Testing]]></category>
		<category><![CDATA[Application Testing]]></category>
		<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[HP LoadRunner]]></category>
		<category><![CDATA[HP Performance Center]]></category>
		<category><![CDATA[HP Software]]></category>
		<category><![CDATA[Load Generator]]></category>
		<category><![CDATA[load generators]]></category>
		<category><![CDATA[Load testing]]></category>
		<category><![CDATA[LoadRunner]]></category>
		<category><![CDATA[Mark Tomlinson]]></category>
		<category><![CDATA[Network Emulation]]></category>
		<category><![CDATA[Performance Test Lab]]></category>
		<category><![CDATA[Shunra]]></category>
		<category><![CDATA[Shunra Software]]></category>
		<category><![CDATA[Skytap]]></category>
		<category><![CDATA[User Experience]]></category>
		<category><![CDATA[WAN Performance]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[Web Performance]]></category>

		<guid isPermaLink="false">http://www.shunra.com/shunrablog/?p=1693</guid>
		<description><![CDATA[My friend Mark Tomlinson from HP recently wrote an informative blog about “Understanding the language of hosted load testing.”  The blog touched on two competing approaches to application performance testing that were referenced as “behind the firewall” and “outside the firewall”.  Behind the firewall testing usually means testing in a lab environment such as a [...]]]></description>
			<content:encoded><![CDATA[<p>My friend Mark Tomlinson from HP recently wrote an informative blog about “<a href="http://www.communities.hp.com/online/blogs/loadrunner/archive/2009/10/27/understanding-the-language-of-real-world-load-testing.aspx">Understanding the language of hosted load testing</a>.”  The blog touched on two competing approaches to application performance testing that were referenced as “behind the firewall” and “outside the firewall”.  Behind the firewall testing usually means testing in a lab environment such as a Performance Test Lab.  Outside the firewall testing means testing over some part of a live network.  As you can imagine, and as Mark pointed out, both approaches have their pros and cons.  Selectively borrowing from Mark and adding some of my own gives us the following:</p>
<p>Performance Test Lab testing</p>
<p>Pros: Controlled, repeatable, relatively easy to debug observed problems</p>
<p>Cons: Expensive to build and maintain, commonly implemented without real world network considerations</p>
<p>Live Network testing</p>
<p>Pros: Cheap, good for periodic sanity checks of performance</p>
<p>Cons: Puts non-revenue generating load on the production network, very difficult to debug, high volume testing is not an accurate depiction of end user performance</p>
<p>The good news is that developments in cloud-based testing and in HP LoadRunner have been able to improve the accuracy of Performance Test Lab testing while also reducing the complexity and overall cost.  By moving HP LoadRunner load generators into a cloud-based testing environment, your testing can immediately benefit from the flexibility and scalability of the cloud.</p>
<p>One specific use case is for Peak Testing.  Peak testing is simply another name for load testing.  What “peak” implies is that it is at a scale that is not common.  If you are running, or want to run a test that is not commonly run in your environment, then it is fair to assume that you’ll need to plan ahead to gather the necessary resources.  Working in a cloud environment makes gathering and configuring extra resources on demand easy.  Need an extra five load generators?  No problem; just clone your existing one and wait for them to start.  Need more RAM?  No problem; just shut the machine down, configure more RAM, and restart the machine.  Working with the latest version of HP LoadRunner with <a href="../../shunra_ve_desktop_for_hp_software.php">WAN emulation</a> makes the story even more compelling.  Need load generation from LA, London, and Tokyo?  No problem; just configure the load generators to emulate those locations and they will.  Sound easy?  It is.  Companies like <a href="http://www.skytap.com/">Skytap</a> already have thought this scenario through and have a great subscription-based model built for you to use today.</p>
<p>The real benefits of peak testing in the cloud are that you can quickly scale your lab up and down without the burden of maintaining a lab large enough to support your peak needs –saving time and money.  It is the end of costly lab build-ups, running tests during maintenance windows in the middle of the night, sending load generators to all corners of the world, and putting test traffic on your production network!</p>
<p>Of course, there are a lot of other ways Cloud Computing can be used in a QA environment; validating new versions of test products and proof of concepts are two that immediately come to mind.  In the end, the same ROI formulae that explain and fuel the explosion of Cloud Computing for hosting applications are also relevant for using Cloud Computing to test your applications with.</p>
<p>Now you know what I think.  What do you think??</p>
<p>P.S. Stay tuned for a coming blog on location-aware deployment testing in the cloud…</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shunra.com/shunrablog/index.php/2009/10/30/hosted-load-testing-ii/feed/</wfw:commentRss>
		<slash:comments>3</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>Analyzing and remediating latency sensitive applications part 2 Oracle Clinical</title>
		<link>http://www.shunra.com/shunrablog/index.php/2009/09/17/analyzing-and-remediating-latency-sensitive-applications-part-2-oracle-clinical/</link>
		<comments>http://www.shunra.com/shunrablog/index.php/2009/09/17/analyzing-and-remediating-latency-sensitive-applications-part-2-oracle-clinical/#comments</comments>
		<pubDate>Thu, 17 Sep 2009 19:04:21 +0000</pubDate>
		<dc:creator>Amichai Lesser</dc:creator>
				<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[HP LoadRunner]]></category>
		<category><![CDATA[HP Software]]></category>
		<category><![CDATA[Jitter]]></category>
		<category><![CDATA[Latency]]></category>
		<category><![CDATA[Load testing]]></category>
		<category><![CDATA[LoadRunner]]></category>
		<category><![CDATA[Network Emulation]]></category>
		<category><![CDATA[Network Emulator]]></category>
		<category><![CDATA[Oracle Clinical]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Shunra]]></category>
		<category><![CDATA[Shunra Software]]></category>
		<category><![CDATA[Shunra University]]></category>
		<category><![CDATA[User Experience]]></category>
		<category><![CDATA[VE Desktop for HP Software]]></category>
		<category><![CDATA[WAN Emulation]]></category>
		<category><![CDATA[WAN Emulator]]></category>
		<category><![CDATA[WAN Optimization]]></category>
		<category><![CDATA[WAN Performance]]></category>
		<category><![CDATA[WAN Simulation]]></category>
		<category><![CDATA[Web Performance]]></category>

		<guid isPermaLink="false">http://www.shunra.com/shunrablog/?p=1636</guid>
		<description><![CDATA[In the previous post http://www.shunra.com/shunrablog/index.php/2009/08/14/data-center-relocation-questions-and-answers-part-1/ I presented an example of a common performance problem with applications that host executables on a remote shared drive. As common as that problem is, it is usually a legacy problem, most new applications follow a more best practices architecture usually involving a web based front end for the application. [...]]]></description>
			<content:encoded><![CDATA[<p>In the previous post <a href="http://www.shunra.com/shunrablog/index.php/2009/08/14/data-center-relocation-questions-and-answers-part-1/" target="_blank">http://www.shunra.com/shunrablog/index.php/2009/08/14/data-center-relocation-questions-and-answers-part-1/</a> I presented an example of a common performance problem with applications that host executables on a remote shared drive. As common as that problem is, it is usually a legacy problem, most new applications follow a more best practices architecture usually involving a web based front end for the application. However even web based applications can provide their share of performance challenges. The following example presents an Oracle Clinical application commonly used in pharmaceutical companies especially during the clinical trial phases (which is one of the most critical business process a Pharma could have).</p>
<p>In alignment with global trends, more and more clinical trials take place outside of the United States, while the documentation and analysis is done in the US for submission to the FDA. So it is not out of the ordinary to find an Oracle Clinical user in Eastern Europe or in China submitting data to an Oracle Clinical Server hosted in the united states.</p>
<p>Unfortunately, as commonly found with an off the shelf software package that gets customized over time, this type of application can easily morph into a performance challenged application, especially for remote users. The following analysis shows an example of an Oracle Clinical transaction that completes in 8 seconds for local users, while extending to over a minute when users in E. Europe tried to use it.</p>
<div id="attachment_1639" class="wp-caption alignnone" style="width: 522px"><a href="http://www.shunra.com/shunrablog/wp-content/uploads/2009/09/OC-TRT-small.JPG"><img class="size-full wp-image-1639 " src="http://www.shunra.com/shunrablog/wp-content/uploads/2009/09/OC-TRT-small.JPG" alt="Transaction Response Time Analysis of an Oracle Clinical Application US Vs. E. Europe Access" width="512" height="284" /></a><p class="wp-caption-text">Transaction Response Time Analysis for an Oracle Clinical Application Accessed by Local Users Vs. Remote Users in E. Europe</p></div>
<p>Obviously, that big jump in response time was a great cause for concern with my client&#8217;s management. Which is how I got the privilege to be asked to analyze the root cause of the poor performance.</p>
<p>The first thing I noticed was that one particular transaction (Connect to DB) had an extremely high jump in TRT from 8 seconds locally to over a minute when accessed remotely, so I focused on that one first.</p>
<p>Looking at the network fingerprint of the transaction you can observe the following things:</p>
<p>The transaction size (amount of data downloaded from the server required to complete the transaction) is extremely high (over 5 MB).</p>
<p>The transaction generates 34 HTTP calls. Some of those calls take disproportionally longer time than others (notice the Get jar file calls that each exceed 19 seconds marked below, click on the image for a larger view)</p>
<div id="attachment_1643" class="wp-caption alignleft" style="width: 535px"><a href="http://www.shunra.com/shunrablog/wp-content/uploads/2009/09/Connect-to-DB.JPG"><img class="size-full wp-image-1643 " src="http://www.shunra.com/shunrablog/wp-content/uploads/2009/09/Connect-to-DB.JPG" alt="Oracle Clinical Connect to DB Transaction Analysis" width="525" height="258" /></a><p class="wp-caption-text">Oracle Clinical, Transaction Analysis for &quot;Connect to DB&quot;</p></div>
<p>When inspecting those JAR files, we saw that they were very heavy in size, over 1 MB each which is pretty big for basically a collection of Java classes that are zipped into a JAR file.</p>
<p>You can also observe in the next bounce diagram that most of the JAR files are downloaded in a serial fashion, blocking other objects from downloading in the mean time. Notice the delta time displayed on the right column</p>
<div id="attachment_1645" class="wp-caption alignleft" style="width: 526px"><a href="http://www.shunra.com/shunrablog/wp-content/uploads/2009/09/Connect-to-DB-Bounce-Diagram.JPG"><img class="size-full wp-image-1645 " src="http://www.shunra.com/shunrablog/wp-content/uploads/2009/09/Connect-to-DB-Bounce-Diagram.JPG" alt="Bounce Diagram of an Oracle Clinical Transaction" width="516" height="304" /></a><p class="wp-caption-text">Bounce Diagram for an Oracle Clinical Transaction</p></div>
<p><strong>What can be done to improve the performance of this application?</strong></p>
<p>Oracle Clinical uses JAR files to package Java code that will run on the client. It is not uncommon for customized off the shelf applications to increase in code size over time until the code is very bloated.</p>
<p>There are several best practices that developers can follow to reduce the size of JAR files:</p>
<ol>
<li> Rationalize the code &#8211; as applications develop over time, multiple classes and sometimes adjacent projects might reference similar libraries and other assets. If not careful those libraries and common assets end up packaged multiple times inside the JAR file, causing it to inflate in size.</li>
<li> Minify the code &#8211; a quick Google search for &#8220;reduce the size of JAR files&#8221; will reveal several free tools that can minimize the size of JAR files, usually through eliminating white spaces, comments, shortening variable names, etc.</li>
<li> Defer loading &#8211; chances are that not all the code in the JAR file is needed for the &#8220;connect to DB&#8221; transaction, which means that users that only want to perform a small transaction are penalized by the download time of code that will never get executed by them. Deferred loading is a design pattern that simply says &#8220;only download assets or code when it is needed&#8221; I wrote more on that design pattern in this previous post <a href="//www.shunra.com/shunrablog/index.php/2009/01/29/content-loading-when-being-lazy-pays-off/&quot;">&#8220;http://www.shunra.com/shunrablog/index.php/2009/01/29/content-loading-when-being-lazy-pays-off/&#8221;</a></li>
</ol>
<p>In summary, as more and more web 2.0 technologies hit main stream, new forms of performance pitfalls may present themselves, requiring us to consider application performance for remote users even for applications that traditionally were considered &#8220;remote user friendly&#8221; such as web based applications.</p>
<p><strong>How was this Analysis Performed?</strong></p>
<p>This analysis was used by integrating a HP LoadRunner script modeling an Oracle Clinical business user with Shunra VE Analyzer. So as the scripted transactions executed across a virtual WAN (simulated by the Shunra VE) the beginning and end of each transaction were marked by the VE Transaction Manager. At the end of the test, the VE Analyzer had sufficient data to generate the attached reports, enabling us to pin point the root cause of the performance problem. You can learn more on how to set this up by going through Shunra Certified Performance Engineering training, either on site or at the next Shunra University. Learn more about Shunra training here:  <a href="http://www.shunra.com/shunra-university-overview.php">http://www.shunra.com/shunra-university-overview.php</a> and here <a href="http://www.shunra.com/training-overview.php?keyword=services">http://www.shunra.com/training-overview.php?keyword=services</a></p>
<p>Questions, comments, feel free to write me at amichai.lesser at Shunra dot com. Or comment on any of my posts.</p>
<p>BTW, we just created a new Application Performance Management Group on LinkedIn, feel free to look it up and join here  <a href="http://www.linkedin.com/groupRegistration?gid=2200667">http://www.linkedin.com/groupRegistration?gid=2200667</a></p>
<p>Best,</p>
<p>Amichai Lesser</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shunra.com/shunrablog/index.php/2009/09/17/analyzing-and-remediating-latency-sensitive-applications-part-2-oracle-clinical/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Is Microsoft Quietly Providing an Alternative to WAN Acceleration</title>
		<link>http://www.shunra.com/shunrablog/index.php/2009/09/04/is-microsoft-quietly-providing-an-alternative-to-wan-acceleration/</link>
		<comments>http://www.shunra.com/shunrablog/index.php/2009/09/04/is-microsoft-quietly-providing-an-alternative-to-wan-acceleration/#comments</comments>
		<pubDate>Fri, 04 Sep 2009 13:08:54 +0000</pubDate>
		<dc:creator>Amichai Lesser</dc:creator>
				<category><![CDATA[Featured Post]]></category>
		<category><![CDATA[Amichai Lesser]]></category>
		<category><![CDATA[Application Performance]]></category>
		<category><![CDATA[Application Testing]]></category>
		<category><![CDATA[HP LoadRunner]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Network Emulation]]></category>
		<category><![CDATA[Network Emulator]]></category>
		<category><![CDATA[Performance Engineering]]></category>
		<category><![CDATA[Shunra]]></category>
		<category><![CDATA[Shunra Software]]></category>
		<category><![CDATA[WAN Acceleration]]></category>
		<category><![CDATA[WAN accelerators]]></category>
		<category><![CDATA[WAN accleration]]></category>
		<category><![CDATA[WAN Emulation]]></category>
		<category><![CDATA[WAN Optimization]]></category>

		<guid isPermaLink="false">http://www.shunra.com/shunrablog/?p=1607</guid>
		<description><![CDATA[As part of our service offerings at Shunra&#8217;s professional services, we help our clients analyze the performance ROI of WAN acceleration. We also wrote a best practices paper about it here http://www.shunra.com/uploads/pdf/WAN-acceleration-whitepaper-031909.pdf. Which is why I was very interested in learning about 2 new developments from Microsoft. These developments provide  improved performance for branch office [...]]]></description>
			<content:encoded><![CDATA[<p>As part of our service offerings at Shunra&#8217;s professional services, we help our clients analyze the performance ROI of WAN acceleration. We also wrote a best practices paper about it here <a href="http://www.shunra.com/uploads/pdf/WAN-acceleration-whitepaper-031909.pdf">http://www.shunra.com/uploads/pdf/WAN-acceleration-whitepaper-031909.pdf</a>.</p>
<p>Which is why I was very interested in learning about 2 new developments from Microsoft. These developments provide  improved performance for branch office users with a Windows 7 client accessing applications hosted on a Windows Server 2008 in a remote data center.</p>
<p>The first development is the improved TCP stack and improved SMB implementation which mitigates one of the biggest performance problems at remote branch offices around file access and web access (internal web access). More on the TCP stack performance improvements can be found here: <a href="http://en.wikipedia.org/wiki/Windows_Vista_networking_technologies#Network_performance">http://en.wikipedia.org/wiki/Windows_Vista_networking_technologies#Network_performance </a>and on the file transfer performance improvements (namely SMB2 improvements) you can read here: <a href="http://en.wikipedia.org/wiki/Server_Message_Block#SMB2">http://en.wikipedia.org/wiki/Server_Message_Block#SMB2</a>. and more evidence to these performance enhancement for remote branch users can be found here: <a href="http://blogs.technet.com/josebda/archive/2008/11/11/file-server-performance-improvements-with-the-smb2-protocol-in-windows-server-2008.aspx">http://blogs.technet.com/josebda/archive/2008/11/11/file-server-performance-improvements-with-the-smb2-protocol-in-windows-server-2008.aspx</a></p>
<p>A 2nd development that couples the next generation TCP stack is the new BranchCache feature. You can read more about it here: <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=EE07308F-7C53-4C76-9ED9-670BC25A4C9D&amp;displaylang=en">http://www.microsoft.com/downloads/details.aspx?FamilyID=EE07308F-7C53-4C76-9ED9-670BC25A4C9D&amp;displaylang=en</a></p>
<p>Why is this so interesting? Well, for many of my clients, slow file transfers and slow access to static data are big pain points. It is also one of the drivers behind the WAN acceleration industry. If the new Windows 7 &#8211; Windows 2008 R2 lives up to its promise we may see it being an interesting alternative to WAN accelerators, curious to hear what you think, especially if you had any experience with deploying any of these new solutions.</p>
<p>Talk to you soon,</p>
<p>Amichai Lesser</p>
<p>P.S. peer to peer torrent access to cached data inside the branch, really? !! I challenge the first IT engineer to share his experience with implementing this option.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shunra.com/shunrablog/index.php/2009/09/04/is-microsoft-quietly-providing-an-alternative-to-wan-acceleration/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

