<?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; LoadRunner</title>
	<atom:link href="http://www.shunra.com/shunrablog/index.php/tag/loadrunner/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>Shunra and the Cloud – It’s here!!</title>
		<link>http://www.shunra.com/shunrablog/index.php/2010/06/23/shunra-and-the-cloud-its-here/</link>
		<comments>http://www.shunra.com/shunrablog/index.php/2010/06/23/shunra-and-the-cloud-its-here/#comments</comments>
		<pubDate>Thu, 24 Jun 2010 04:34:42 +0000</pubDate>
		<dc:creator>Dave Berg</dc:creator>
				<category><![CDATA[Featured Post]]></category>
		<category><![CDATA[Staff Posts]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[Amazon AWS]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[HP]]></category>
		<category><![CDATA[HP LoadRunner]]></category>
		<category><![CDATA[HPSU]]></category>
		<category><![CDATA[HPSWU]]></category>
		<category><![CDATA[Load Generator]]></category>
		<category><![CDATA[LoadRunner]]></category>
		<category><![CDATA[Shunra]]></category>
		<category><![CDATA[Shunra for HP Software]]></category>
		<category><![CDATA[Testing applications]]></category>

		<guid isPermaLink="false">http://www.shunra.com/shunrablog/?p=2098</guid>
		<description><![CDATA[For those of you following my recent posts, this shouldn’t come as much of a shock.  Shunra now has an exclusive offer for beta tester of HP’s LoadRunner in the Cloud  that lets them use Shunra for HP Software FOR FREE!]]></description>
			<content:encoded><![CDATA[<p>For those of you following my recent posts, this shouldn’t come as much of a shock.  Shunra now has an exclusive offer for beta tester of HP’s <a href="http://www.hp.com/go/loadrunnercloud" target="_blank">LoadRunner in the Cloud</a> that lets them use <a href="http://www.shunra.com/shunra_ve_desktop_for_hp_software_overview.php" target="_blank">Shunra for HP Software</a> FOR FREE!</p>
<p>If you’re not familiar with <a href="http://www.hp.com/go/loadrunnercloud" target="_blank">LoadRunner in the Cloud</a>, it’s one of HP’s latest offerings where they partner with <a href="http://aws.amazon.com/hp/" target="_blank">Amazon AWS</a> to offer HP LoadRunner in Amazon’s EC2.  The product is currently in beta and is doing very well.  To read my <a href="http://www.shunra.com/shunrablog/index.php/2010/05/19/loadrunner-and-the-cloud-its-here/" target="_blank">post</a> about it and to get links to join the HP beta, go <a href="http://www.shunra.com/shunrablog/index.php/2010/05/19/loadrunner-and-the-cloud-its-here/" target="_blank">here</a>.</p>
<p>As a long-time partner of HP, Shunra was invited to augment the <a href="http://www.hp.com/hpinfo/newsroom/press/2010/100519xb.html" target="_blank">HP/Amazon partnership</a> by including <a href="http://www.shunra.com/shunra_ve_desktop_for_hp_software_overview.php" target="_blank">Shunra for HP Software</a>.  In our recent <a href="http://www.shunra.com/shunrablog/index.php/2010/06/07/new-application-performance-testing-in-a-virtual-environment/" target="_blank">white paper</a> with SAP and HP, we already showed how testing with WAN emulation is valuable for anyone testing distributed applications AND how it all works swimmingly in virtual environments, so the only hurdle was to package everything together.</p>
<p>That packaging is now done.  We worked with HP to build an <a href="http://aws.amazon.com/ec2/" target="_blank">Amazon Machine Image (AMI)</a> that is based off of HP’s 32 bit Load Generator AMI and includes Shunra’s WAN emulation component by default, and we have defined a very fast and easy process to install our component on the Controller instance.  The Controller component installation for Shunra requires a 15MB download and approximately 90s to install.</p>
<p>Once the new Load Generator is approved internally by HP (in the next few days), it will be added to the list of AMIs available for the HP beta program (again, to request inclusion in the beta program, go <a href="http://www.shunra.com/shunrablog/index.php/2010/05/19/loadrunner-and-the-cloud-its-here/" target="_blank">here</a>).  In the mean time, you can still take advantage of this offer by joining the HP beta program and contacting me directly.  After confirming your participation in the HP program, I’ll send you download and installation instructions for the Load Generator as well as the Controller components from Shunra for HP Software – both are required to use WAN emulation in your LoadRunner in the Cloud tests.</p>
<p>As I mentioned in my previous <a href="http://www.shunra.com/shunrablog/index.php/2010/05/19/loadrunner-and-the-cloud-its-here/" target="_blank">post</a>, HP is waiving their license fees for this beta program.  In that light, Shunra has agreed to do the same.  The only fees you will be responsible for are from Amazon AWS.  From personal experience, I can say that the <a href="http://aws.amazon.com/ec2/" target="_blank">AWS usage fees</a> are quite reasonable.</p>
<p>If you’re not planning to participate in this beta program, but would still like to learn more about application performance testing in the cloud, I encourage you to comment below or send me a message directly.  My contact information is listed at the bottom of this post.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shunra.com/shunrablog/index.php/2010/06/23/shunra-and-the-cloud-its-here/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>NEW! Application Performance Testing in a Virtual Environment</title>
		<link>http://www.shunra.com/shunrablog/index.php/2010/06/07/new-application-performance-testing-in-a-virtual-environment/</link>
		<comments>http://www.shunra.com/shunrablog/index.php/2010/06/07/new-application-performance-testing-in-a-virtual-environment/#comments</comments>
		<pubDate>Mon, 07 Jun 2010 20:50:35 +0000</pubDate>
		<dc:creator>Dave Berg</dc:creator>
				<category><![CDATA[Featured Post]]></category>
		<category><![CDATA[Staff Posts]]></category>
		<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[HP]]></category>
		<category><![CDATA[HP LoadRunner]]></category>
		<category><![CDATA[LoadRunner]]></category>
		<category><![CDATA[SAP]]></category>
		<category><![CDATA[Shunra]]></category>
		<category><![CDATA[Shunra for HP Software]]></category>
		<category><![CDATA[WAN Emulation]]></category>

		<guid isPermaLink="false">http://www.shunra.com/shunrablog/?p=2083</guid>
		<description><![CDATA[My previous post about LoadRunner in the Cloud spoke about how Shunra™ for HP Software not only works well in clouds, but actually “completes the picture” for anyone conducting performance testing of applications that will be accessed remotely.    I am not alone with these statements.  SAP Labs, HP and Shunra are pleased to announce the availability of a new whitepaper, released today, June 7,  titled, “Application Performance Testing in a Virtual Environment.”]]></description>
			<content:encoded><![CDATA[<p>First of all, many thanks to <a href="http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/19603" target="_blank">Joerg Nalik Ph.D.</a>, Director for Infrastructure Technologies, SAP LABs and <a href="http://www.communities.hp.com/online/blogs/loadrunner/archive/tags/Tomlinson/default.aspx" target="_blank">Mark Tomlinson</a>, Senior Product Manager, HP Software for their invaluable help on this project.  They are visionaries, thought leaders and a true pleasure to work with.</p>
<p>My previous <a href="http://www.shunra.com/shunrablog/index.php/2010/05/19/loadrunner-and-the-cloud-its-here/" target="_blank">post</a> about <a href="http://www.hp.com/go/loadrunnercloud" target="_blank">LoadRunner in the Cloud</a> spoke about how <strong><a href="http://www.shunra.com/shunra_ve_desktop_for_hp_software_overview.php" target="_blank">Shunra™ for HP Software</a></strong> not only works well in clouds, but actually “completes the picture” for anyone conducting performance testing of applications that will be accessed remotely.    I am not alone with these statements.  SAP Labs, HP and Shunra are pleased to announce the availability of a <a href="http://www.shunra.com/Application_Performance_Testing_with_Shunra_and_HP_LoadRunner" target="_blank">new whitepaper</a>, released today, June 7,  titled, <a href="http://www.shunra.com/Application_Performance_Testing_with_Shunra_and_HP_LoadRunner"><strong>“</strong></a><strong><a href="http://www.shunra.com/Application_Performance_Testing_with_Shunra_and_HP_LoadRunner" target="_blank">Application Performance Testing in a Virtual Environment.”</a></strong></p>
<p>In this paper, we explain a best practice for performance testing SAP applications.  This best practice was conceived by SAP LABs and goes through four stages that take an SAP application from the initial steps of verifying functionality and accessibility, to how to tune the solution with WAN acceleration technology.  While the paper specifically focused on SAP applications, it’s clear that this best practice applies to almost <em>any</em> application that will be accessed remotely.</p>
<p>One of the key themes in the paper is virtualization.  As I have mentioned before,<strong> Shunra for HP Software</strong> already works well in clouds.  This paper took a scientific approach and compared tests using dedicated, physical machines with a completely virtual setup.  Specifically, <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> was first run on a standalone machine, through a <a href="http://www.shunra.com/ve-suite-overview.php" target="_blank">Shunra Appliance</a> and then to the SAP application servers.  For comparison, HP LoadRunner with <strong>Shunra for HP</strong> was installed on virtual machines (controller plus load generators) and the SAP application servers were also installed on virtual machines.</p>
<p>When the six-hour load tests were run and the results were compared, the average transaction response time varied by only a few one thousandths of a second – well below any reasonable requirement for accuracy!</p>
<p>Whether you’re interested in using HP’s new LoadRunner in the Cloud offering, or simply trying to reap some of the many benefits of virtualization by moving your testing environment into a virtual server, this paper is a must read.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shunra.com/shunrablog/index.php/2010/06/07/new-application-performance-testing-in-a-virtual-environment/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Value of Leveraging Virtualization for Application Performance Testing</title>
		<link>http://www.shunra.com/shunrablog/index.php/2010/03/12/the-value-of-leveraging-virtualization-for-application-performance-testing/</link>
		<comments>http://www.shunra.com/shunrablog/index.php/2010/03/12/the-value-of-leveraging-virtualization-for-application-performance-testing/#comments</comments>
		<pubDate>Fri, 12 Mar 2010 17:56:28 +0000</pubDate>
		<dc:creator>Liam McCamley</dc:creator>
				<category><![CDATA[Featured Post]]></category>
		<category><![CDATA[Staff Posts]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Application Performance]]></category>
		<category><![CDATA[Application Performance Management]]></category>
		<category><![CDATA[HP LoadRunner]]></category>
		<category><![CDATA[HP Performance Center]]></category>
		<category><![CDATA[HP Software]]></category>
		<category><![CDATA[Load testing]]></category>
		<category><![CDATA[LoadRunner]]></category>
		<category><![CDATA[Network Performance]]></category>
		<category><![CDATA[Performance Testing]]></category>
		<category><![CDATA[Shunra]]></category>
		<category><![CDATA[Shunra Software]]></category>
		<category><![CDATA[User Experience]]></category>
		<category><![CDATA[VE Desktop for HP Software]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[WAN Emulation]]></category>
		<category><![CDATA[WAN Performance]]></category>

		<guid isPermaLink="false">http://www.shunra.com/shunrablog/?p=1960</guid>
		<description><![CDATA[Virtualization has emerged as one of the leading technologies in today’s market; enabling businesses to more effectively scale operations to meet demand while significantly reducing costs at the same time. Everyone seems to understand what virtualization is, but it’s actually rather difficult to define because the term is used interchangeably to describe a plethora of [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.shunra.com/virtualization.php" target="_blank">Virtualization</a> has emerged as one of the leading technologies in today’s market; enabling businesses to more effectively scale operations to meet demand while significantly reducing costs at the same time. Everyone seems to understand what virtualization is, but it’s actually rather difficult to define because the term is used interchangeably to describe a plethora of different things. When I first tried to define what virtualization is in my own terms, I thought of it more as a technology for achieving some end – primarily server consolidation. However, after further investigation I realized that virtualization is really more of a concept than anything else. This certainly became evident in an article I read from the<a href="http://virtualization.sys-con.com/node/554197" target="_blank"> Virtualization Journal</a> where the CTO of Citrix &amp; Founder of XenSource, Simon Crosby, was being interviewed on the topic of virtualization. He stated that &#8220;virtualization is already widely used, but primarily for the first-order benefit, namely server consolidation. The second-order benefits of agility, availability and manageability of the IT stack are now becoming better understood,&#8221; Crosby continues, &#8220;and as a consequence virtualization has moved from a tactical tool for gaining immediate savings, to become a key strategic theme for every IT department.&#8221; Essentially, virtualization has become a business enabler for many – and that’s certainly apparent considering the number of organizations gearing up for cloud computing. This is also the case when it comes to how application performance testing can be leveraged within organizations today.</p>
<p>There are many challenges organizations face when it comes to administering and maintaining a dedicated pre-production or staging environment for which accurate performance testing can be conducted. The cost to manage and maintain infrastructure, along with personnel and facilities, can be fairly sizeable and are only a subset of the overall costs to be considered. So, in many cases performance testing can be rather expensive and this is exactly why virtualization can provide significant benefits because there is cost reduction across the board. A prime example is in many performance labs there are a variety of application performance tools typically utilized for testing &#8211; one such tool is HP LoadRunner or Performance Center. These tools are a primary part of a performance lab as they provide load generation capabilities and can accurately test applications under real world load and stress scenarios. However, these solutions require a significant amount of infrastructure and resources (A Controller to execute tests, LoadRunner Generators to produce user traffic, Virtual User Generator to record scripts, etc.) and this can make it very difficult to manage the environment when it has to scale to meet higher demand. In this case, virtualization saves time, effort and cost because resources can be allocated dynamically within the environment and any number of virtual machines can be leveraged when needed to handle these resource intensive applications. This is also enabling many organizations to architect and customize elegant configurations that more closely align with their testing requirements – which can minimize unnecessary infrastructure and resources. Yet, the prevalent issue many organizations still grapple with is how to execute performance tests that accurately depict the network for which the application will be deployed across.</p>
<p>The most pervasive approach that many organizations would take is to physically deploy hardware (remote load generators) in offices that they wanted to test an application from. This process was not only time-consuming, but also expensive, inaccurate and cumbersome to manage. For this reason, HP decided to form a partnership with <a href="http://www.shunra.com">Shunra </a>to develop a seamless solution that provides this capability within the HP LoadRunner and Performance Center solutions – <a href="http://www.shunra.com/shunra_ve_desktop_for_hp_software_overview.php" target="_blank">Shunra VE Desktop for HP</a>. This solution aligns very well with the virtualization movement because it is simply a plug-in within the HP products that introduces the network into the existing test bed and can be leveraged across most virtual platforms. For <a href="http://www.shunra.com/shunra_ve_desktop_for_hp_software.php" target="_blank">LoadRunner 9.5</a> and later, there is simply a “<a href="http://www.shunra.com/wan-emulation.php" target="_blank">WAN emulation</a>” tab that can be accessed from within the Controller to introduce the latency, jitter, packet loss and bandwidth constraints directly into the test. With <a href="http://www.shunra.com/shunra_ve_desktop_for_hp_software.php">Performance Center 9.5</a> and later, this capability can easily be configured directly from the browser UI to allocate <a href="http://www.shunra.com/wan-emulation.php" target="_blank">WAN emulation</a> parameters across any number of desired load generators. A consequence of this is that organizations can leverage on-demand performance testing from a dynamic virtual environment that is agile, flexible and robust. This therefore eliminates the need to manage testing cycles across multiple time zones and remove any need for additional hardware. Additionally, all of the network metrics from each generator utilizing WAN emulation within the test will automatically be imported into the controller, which can save a significant amount of time when collating results and generating analysis reports. These reasons are precisely why numerous organizations have decided to improve their existing performance test environment with the VE Desktop for HP Software  solution. Not only does this solution address a strategic gap within the functionality of the HP solutions, it embraces virtualization as a means to more effectively administer performance testing. Overall, the V<a href="http://www.shunra.com/shunra_ve_desktop_for_hp_software.php" target="_blank">E Desktop for HP Software</a> solution was co-developed with HP to considerably enhance the accuracy and value of these application performance test suites.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shunra.com/shunrablog/index.php/2010/03/12/the-value-of-leveraging-virtualization-for-application-performance-testing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HP tackles the challenges of load testing</title>
		<link>http://www.shunra.com/shunrablog/index.php/2009/12/17/hp-tackles-the-challenges-of-load-testing/</link>
		<comments>http://www.shunra.com/shunrablog/index.php/2009/12/17/hp-tackles-the-challenges-of-load-testing/#comments</comments>
		<pubDate>Thu, 17 Dec 2009 15:27:25 +0000</pubDate>
		<dc:creator>anca.popovici</dc:creator>
				<category><![CDATA[Featured Post]]></category>
		<category><![CDATA[Application Performance]]></category>
		<category><![CDATA[HP]]></category>
		<category><![CDATA[HP LoadRunner]]></category>
		<category><![CDATA[Load testing]]></category>
		<category><![CDATA[LoadRunner]]></category>
		<category><![CDATA[Mark Tomlinson]]></category>
		<category><![CDATA[Steve Feloney]]></category>
		<category><![CDATA[VE Desktop for HP Software]]></category>
		<category><![CDATA[Web 2.0]]></category>

		<guid isPermaLink="false">http://www.shunra.com/shunrablog/?p=1757</guid>
		<description><![CDATA[Video: Mark Tomlinson and Steve Feloney from HP address the risk of load testing Web 2.0 applications without considering WAN latency]]></description>
			<content:encoded><![CDATA[<p><!--StartFragment--></p>
<table border="0" cellspacing="0">
<tbody>
<tr id="post-1768" valign="top">
<td></td>
<td></td>
</tr>
</tbody>
</table>
<p>Are you migrating over to the Web 2.0 world or considering adding modern architecture and components? If so, take a look at this interesting video I came across, in which <a href="http://www.communities.hp.com/online/blogs/loadrunner/archive/tags/Tomlinson/default.aspx" target="_blank">Mark Tomlinson</a> and Steve Feloney from HP, our partner, tackle the challenges of load testing Web 2.0 applications. It will be well worth your time to <a href="http://www.communities.hp.com/online/blogs/loadrunner/archive/2009/12/14/video-real-stories-of-load-testing-web-2-0-part-1.aspx"><span style="text-decoration: underline;">check out Mark and Steve</span></a> as they address the top issues that make LoadRunner web testing much harder and more complex. Very helpful and it&#8217;s only 4 min long!</p>
<p>In this video, Mark and Steve talk about real challenges their customers faced when migrating to the Web 2.0 without considering the impact of WAN latency, and most importantly how to solve this! Anyone using <a href="http://www.shunra.com/shunra_ve_desktop_for_hp_software_overview.php"><span style="font-family: Times New Roman;"><span style="font-size: 12pt;">VE Desktop for HP Software</span></span></a><strong><span style="font-family: Times New Roman;"><span style="font-size: 12pt;"><a href="../../shunra_ve_desktop_for_hp_software_overview.php" target="_blank"> </a></span></span></strong> should also definitely check this out and take a light-hearted look at web load testing.</p>
<p>This video is the first in a series put together by Steve and Mark covering some top issues that make LoadRunner web testing much harder and complex. Stay tuned for the next part of &#8220;<strong>Real Stories of Load Testing Web 2.0: Impacts of WAN latency of Web 2.0 apps&#8221;</strong>.</p>
<p>&#8230;will Steve end up going to Paris? and what will Mark find on google? the plot thickens&#8230;</p>
<p><span style="font-family: Times New Roman;"><span style="font-size: 12pt;"> </span></span> <!--EndFragment--></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shunra.com/shunrablog/index.php/2009/12/17/hp-tackles-the-challenges-of-load-testing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Location-aware deployment testing</title>
		<link>http://www.shunra.com/shunrablog/index.php/2009/11/06/location-aware-deployment-testing/</link>
		<comments>http://www.shunra.com/shunrablog/index.php/2009/11/06/location-aware-deployment-testing/#comments</comments>
		<pubDate>Fri, 06 Nov 2009 18:09:00 +0000</pubDate>
		<dc:creator>Dave Berg</dc:creator>
				<category><![CDATA[Featured Post]]></category>
		<category><![CDATA[Staff Posts]]></category>
		<category><![CDATA[Application Development]]></category>
		<category><![CDATA[Application Performance]]></category>
		<category><![CDATA[Cloud Computing]]></category>
		<category><![CDATA[cloud-based application]]></category>
		<category><![CDATA[HP LoadRunner]]></category>
		<category><![CDATA[HP Software]]></category>
		<category><![CDATA[Load testing]]></category>
		<category><![CDATA[LoadRunner]]></category>
		<category><![CDATA[network performance measurement]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Performance Testing]]></category>
		<category><![CDATA[pre-deployment testing]]></category>
		<category><![CDATA[Shunra]]></category>
		<category><![CDATA[Shunra Software]]></category>
		<category><![CDATA[VE Network Catcher]]></category>
		<category><![CDATA[VE Suite]]></category>
		<category><![CDATA[WAN Emulation]]></category>
		<category><![CDATA[WAN Performance]]></category>
		<category><![CDATA[WAN Simulation]]></category>

		<guid isPermaLink="false">http://www.shunra.com/shunrablog/?p=1721</guid>
		<description><![CDATA[As a corollary to last week’s blog about hosted load testing, I thought it would be interesting to explain a little about using a cloud-based test environment to perform pre-deployment testing for a cloud-based application. That sounds like a lot of clouds!  What we are simply trying to understand is where and how to deploy [...]]]></description>
			<content:encoded><![CDATA[<p>As a corollary to last week’s <a href="../index.php/2009/10/30/hosted-load-testing-ii/">blog</a> about hosted load testing, I thought it would be interesting to explain a little about using a cloud-based test environment to perform pre-deployment testing for a cloud-based application.</p>
<p>That sounds like a lot of clouds!  What we are simply trying to understand is where and how to deploy your application in the cloud, so it will perform well for your customers.</p>
<p>If you take the case of deploying an online store into the Amazon EC2 cloud, there are many things to consider that will impact your customer’s experience.  Two of the most important are where to deploy what, and how your store will function over the Internet.  To compound the issue, where you physically deploy machines within EC2 is not clear.  Amazon goes to great lengths to avoid you knowing where their zones are.</p>
<p>Fortunately, you cannot only find solutions to these problems, but with cloud computing the process gets a lot easier.  To break the problems down into a logical flow, you’ll first need to know the demographics of your customers.  Where are they?  How will they access the store?  What needs to happen for them to have a positive experience at your store?  If you can answer these questions, you’ll likely come up with some numbers that place percentages of your users in different regions around your target market (US, EMEA, global, etc.).  Further, you’ll know the top two browsers they’ll use and with what kind of connections they’ll access the internet (e.g. Firefox with a 768/256kbps DSL, or IE8 with dial-up – yes people still use dial-up!).  Finally, you’ll have some way to quantify a “positive user experience”.  That usually involves consistency (does it work?) and speed (how fast?).</p>
<p>Using the information above and <a title="HP Loadrunner" href="http://shunra.com/shunra_ve_desktop_for_hp_software_overview.php?keyword=VED%20for%20HP%20Software" target="_blank">HP LoadRunner</a> with <a href="../../shunra_ve_desktop_for_hp_software.php">WAN emulation</a>, you can quickly build a to-scale test in your cloud-based lab and understand what would happen if you hosted your application all in one place and serviced your entire customer base.  Odds are that the test will not meet all of your performance goals the first time you run it.  Most likely, you will need to adjust some things in your store (e.g. reduce chattiness and image resolution, optimize Web 2.0 use) and then begin the discussion about where to deploy what.  Can you keep all of your database servers in one place?  If you have to split your database servers, how will that affect performance?  Will you need to deploy web servers in every zone, will you be okay with one in each region, or will you need something in-between?</p>
<p>Again, not only can answers to these questions actually be answered, but by using cloud-based testing you can arrive at valid conclusions faster than ever.  To understand the network impact of deploying machines in different zones, network performance measurement tools like <a href="../../ve-network-catcher.php">VE Network Catcher</a> can run in each of the zones to measure network performance between zones and to customer representative endpoints.  Importing that data directly into HP LoadRunner with <a title="WAN Emulation" href="http://www.shunra.com/wan-emulation.php" target="_blank">WAN emulation</a> and using the flexible cloud environment, you can rapidly form and either dismiss or validate hypotheses about how your application should best be deployed.</p>
<p>The benefit of testing in this way is that you can experiment with many different configurations in rapid succession to find the one or few that are most appropriate for your needs.  Trial and error with a live application is not advisable.  And building a test lab with physical machines to simulate the same thing is not only significantly more expensive, but a lot slower process.  As I pointed out in my previous blog, the same ROI formula 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>
]]></content:encoded>
			<wfw:commentRss>http://www.shunra.com/shunrablog/index.php/2009/11/06/location-aware-deployment-testing/feed/</wfw:commentRss>
		<slash:comments>0</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>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>Monitoring Transactions by emulated location at runtime using VED and Vugen script &#8211; Part 1</title>
		<link>http://www.shunra.com/shunrablog/index.php/2009/06/10/monitoring-transactions-by-emulated-location-at-runtime-using-ved-and-vugen-script-part-1/</link>
		<comments>http://www.shunra.com/shunrablog/index.php/2009/06/10/monitoring-transactions-by-emulated-location-at-runtime-using-ved-and-vugen-script-part-1/#comments</comments>
		<pubDate>Wed, 10 Jun 2009 15:52:06 +0000</pubDate>
		<dc:creator>Danny Moore</dc:creator>
				<category><![CDATA[Staff Posts]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[LoadRunner]]></category>
		<category><![CDATA[LoadRunner Controller UI]]></category>
		<category><![CDATA[monitoring transactions]]></category>
		<category><![CDATA[Shunra Software]]></category>
		<category><![CDATA[Transaction Response Time]]></category>
		<category><![CDATA[Vugen script]]></category>
		<category><![CDATA[WAN Emulation]]></category>

		<guid isPermaLink="false">http://www.shunra.com/shunrablog/?p=1226</guid>
		<description><![CDATA[The Analysis application of LoadRunner 9.5 allows grouping transactions by emulated location. This enables users to see how each transaction performs in different locations. This is a very valuable feature but it is only available at analysis time, after the test stopped. In this post I’ll show how simple changes to the vugen scripts allow [...]]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: Arial;">The Analysis application of LoadRunner 9.5 allows grouping transactions by emulated location. This enables users to see how each transaction performs in different locations. This is a very valuable feature but it is only available at analysis time, after the test stopped. In this post I’ll show how simple changes to the vugen scripts allow monitoring transactions from different locations, while the test is running. This is by no means a complete solution but it’ll show you the general idea behind it.</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: Arial;"> </span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: Arial;">In this solution I’m taking advantage of the “User Data Point” mechanism in LoadRunner. The “User Data Point” mechanism allows users to include their own custom data points in the LoadRunner test database. These data points are viewable in the LoadRunner Controller UI when the test runs and in the analysis.</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: Arial;"> </span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: Arial;">The main idea is that for each transaction reported to the controller, the script will also report a “User Data Point”. The data point will include the name of the emulated location or host machine. Adding the host name will guaranty uniqueness of the data point name and will allow pinpointing the location it comes from. If you are worried about performance costs associated with using many data points with multiple virtual users, you can implement a caching mechanism for each location that collects these data points and reports their averages as data points every second or so.</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: Arial;"> </span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: Arial;">In my script I define StartTransaction and EndTransaction functions and replace all instances of lr_start_transaction and lr_end_transaction with them. These functions call the appropriate lr_ function internally and EndTransaction() also reports the data point. Although StartTransaction just calls lr_start_transaction, it’s a good idea to use it as it keeps the code clean and allows for easy modifications. </span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: Arial;"> </span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: Arial;">One note: I’m using “Host name” and not “Emulated Location” in the script because there is currently no </span><span style="font-size: 10pt; font-family: Arial;">API </span><span style="font-size: 10pt; font-family: Arial;">to get the emulated location name using a script. </span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: Arial;"> </span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: Arial;">Here is how the two functions are defined:</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> </span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; color: green; font-family: &quot;Courier New&quot;;">// Encapsulate lr_start_transaction() &#8211; for consistency with EndTransaction()</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; color: blue; font-family: &quot;Courier New&quot;;">int</span><span style="font-size: 10pt; color: black; font-family: &quot;Courier New&quot;;">StartTransaction</span><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">( <span style="color: blue;">char</span>* <span style="color: black;">pName</span> )</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">{</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> <span style="color: blue;">return</span> <span style="color: black;">lr_start_transaction</span>( <span style="color: black;">pName</span> );</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">}</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> </span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; color: green; font-family: &quot;Courier New&quot;;">// Encapsulate lr_end_transaction(). Measures </span><span style="font-size: 10pt; color: green; font-family: &quot;Courier New&quot;;">TRT</span><span style="font-size: 10pt; color: green; font-family: &quot;Courier New&quot;;"> and status and inserts </span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; color: green; font-family: &quot;Courier New&quot;;">// a user data point that includes the host name &#8211; to distinguish the same transaction</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; color: green; font-family: &quot;Courier New&quot;;">// coming from other hosts.</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; color: blue; font-family: &quot;Courier New&quot;;">int</span><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> <span style="color: black;">EndTransaction</span>( <span style="color: blue;">char</span>* <span style="color: black;">pName</span>, <span style="color: blue;">int</span> <span style="color: black;">status</span> )</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">{</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> <span style="color: blue;">double</span> <span style="color: black;">dTransTime</span> = <span style="color: blue;">0</span>;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> <span style="color: blue;">int</span> <span style="color: black;">iTransStatus</span> = <span style="color: blue;">0</span>;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> <span style="color: blue;"> char</span> <span style="color: black;">pDataPointName</span>[<span style="color: blue;">1024</span>] = {<span style="color: blue;">0</span>};</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> <span style="color: blue;">int</span> <span style="color: black;">iRetVal</span> = <span style="color: blue;">0</span>;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> </span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> <span style="color: green;">// Get the duration of the transaction.</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> <span style="color: black;">dTransTime</span> = <span style="color: black;">lr_get_transaction_duration</span>(<span style="color: black;">pName</span> );</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> </span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> <span style="color: green;">// Get the status of the transaction.</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> <span style="color: black;"> iTransStatus</span> = <span style="color: black;">lr_get_transaction_status</span>( <span style="color: black;">pName</span> );</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> </span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> </span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> <span style="color: green;">// Signal the end of the transaction to LoadRunner.</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> <span style="color: black;">iRetVal</span> = <span style="color: black;">lr_end_transaction</span>( <span style="color: black;">pName</span>, <span style="color: black;">status</span> );</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> </span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> </span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> <span style="color: green;">// If the transaction completed correctly, add it&#8217;s instance as a data point</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> <span style="color: blue;">if</span> ( <span style="color: black;">dTransTime</span> &gt; <span style="color: blue;">0</span> &amp;&amp; <span style="color: black;">iTransStatus</span> == <span style="color: black;">LR_PASS</span> &amp;&amp; ( <span style="color: black;">status</span> == <span style="color: black;">LR_PASS</span> || <span style="color: black;">status</span> == <span style="color: black;">LR_</span></span><span style="font-size: 10pt; color: black; font-family: &quot;Courier New&quot;;">AUTO</span><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> ) ) </span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> {</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> <span style="color: green;">// Add the host name.</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> <span style="color: black;">sprintf</span>( <span style="color: black;">pDataPointName</span>, <span style="color: blue;">&#8220;%s::%s&#8221;</span>, <span style="color: black;">lr_get_host_name</span>(), <span style="color: black;">pName</span> );</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> </span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> <span style="color: green;">// Add the user data point.</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> <span style="color: black;">lr_user_data_point</span>( <span style="color: black;">pDataPointName</span>, <span style="color: black;">dTransTime</span> );</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> }</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> </span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> <span style="color: blue;">return</span> <span style="color: black;">iRetVal</span>;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">}</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> </span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: Arial;">Here is an example of Action transaction that uses the new functionality:</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> </span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; color: black; font-family: &quot;Courier New&quot;;">Action</span><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">()</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">{</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> <span style="color: green;">/* &#8230; Removed beginning of script for clarity &#8230; */</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; color: green; font-family: &quot;Courier New&quot;;"> </span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> <span style="color: green;">//Signal a transaction start</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> <span style="color: black;">StartTransaction</span>( <span style="color: blue;">&#8220;Second Download&#8221;</span> );</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> </span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> <span style="color: black;"> web_url</span>(<span style="color: blue;">&#8220;testpage.asp_2&#8243;</span>, </span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> <span style="color: blue;">&#8220;URL=http://10.0.0.2/testanalyzer/testpage.asp&#8221;</span>,</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> <span style="color: blue;">&#8220;Resource=0&#8243;</span>, </span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> <span style="color: blue;">&#8220;RecContentType=text/html&#8221;</span>,</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> <span style="color: blue;">&#8220;Referer=http://10.0.0.2/&#8221;</span>,</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> <span style="color: blue;">&#8220;Snapshot=t7.inf&#8221;</span>, </span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> <span style="color: blue;">&#8220;Mode=HTML&#8221;</span>, </span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> <span style="color: black;">LAST</span>);</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> </span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> <span style="color: black;">web_link</span>(<span style="color: blue;">&#8220;download 1000 bytes with 1 second delay&#8221;</span>,</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> <span style="color: blue;">&#8220;Text=download 1000 bytes with 1 second delay&#8221;</span>, </span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> <span style="color: blue;">&#8220;Snapshot=t8.inf&#8221;</span>, </span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> <span style="color: black;">LAST</span>);</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> </span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> <span style="color: green;">// Signal a transaction end.</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> <span style="color: black;">EndTransaction</span>( <span style="color: blue;">&#8220;Second Download&#8221;</span>, <span style="color: black;">LR_</span></span><span style="font-size: 10pt; color: black; font-family: &quot;Courier New&quot;;">AUTO</span><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> );</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> </span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;"> <span style="color: blue;">return</span> <span style="color: blue;">0</span>;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: &quot;Courier New&quot;;">}</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: Arial;"> </span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: Arial;">When the test runs each transaction appears in the &#8220;Transaction Response Time&#8221; graph of LoadRunner but it&#8217;s value is aggregated for all locations. Using the StartTransaction / EndTransaction functions above you get the TRTs from each location in the data point graph aggregated only for virtual users running on that location. This allows you to see how each transaction performs from different emulated location.</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: Arial;"> </span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: Arial;">Stay tuned as In a few weeks I&#8217;m planning to post another article detailing how to add bandwidth and latency to the mix and get a better view of how the network affects your users.</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; direction: ltr; unicode-bidi: embed; text-align: left;" dir="ltr"><span style="font-size: 10pt; font-family: Arial;"> </span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shunra.com/shunrablog/index.php/2009/06/10/monitoring-transactions-by-emulated-location-at-runtime-using-ved-and-vugen-script-part-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>More on how to add network conditions to a LoadRunner 9.5 Scenario</title>
		<link>http://www.shunra.com/shunrablog/index.php/2009/04/21/more-on-how-to-add-network-conditions-to-a-loadrunner-95-scenario/</link>
		<comments>http://www.shunra.com/shunrablog/index.php/2009/04/21/more-on-how-to-add-network-conditions-to-a-loadrunner-95-scenario/#comments</comments>
		<pubDate>Tue, 21 Apr 2009 20:30:00 +0000</pubDate>
		<dc:creator>Amichai Lesser</dc:creator>
				<category><![CDATA[Staff Posts]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Demo]]></category>
		<category><![CDATA[HP LoadRunner]]></category>
		<category><![CDATA[LoadRunner]]></category>
		<category><![CDATA[Network]]></category>
		<category><![CDATA[Network Conditions]]></category>
		<category><![CDATA[Shunra]]></category>
		<category><![CDATA[Shunra Software]]></category>
		<category><![CDATA[Step by Step]]></category>
		<category><![CDATA[VE Desktop]]></category>
		<category><![CDATA[VE Desktop for HP Software]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://www.shunra.com/shunrablog/?p=913</guid>
		<description><![CDATA[Last week I published a post (here) on how to add network conditions to a LoadRunner 9.5 scenario. For those of you who prefer a step by step video tutorial, the following video is an excellent one by David Berg who is Shunra&#8217;s product manager for VE Desktop. Enjoy: Amichai]]></description>
			<content:encoded><![CDATA[<p>Last week I published a post <a href="http://www.shunra.com/shunrablog/index.php/2009/02/adding-network-conditions-to-a-loadrunner-95-scenario/">(here) </a>on how to add network conditions to a LoadRunner 9.5 scenario. For those of you who prefer a step by step video tutorial, the following video is an excellent one by David Berg who is Shunra&#8217;s product manager for VE Desktop.</p>
<p>Enjoy:</p>
<p><object width="425" height="344" data="http://www.youtube.com/v/03CHxR6MmSw&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/03CHxR6MmSw&amp;hl=en&amp;fs=1" /><param name="allowfullscreen" value="true" /></object></p>
<p>Amichai</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shunra.com/shunrablog/index.php/2009/04/21/more-on-how-to-add-network-conditions-to-a-loadrunner-95-scenario/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

