performance

The benefits of performance testing with LoadRunner

The benefits of performance testing with LoadRunner

Often in IT projects, the last item to be considered is a performance test. This is a mistake! Poor performance leads to unhappy users. The key to any go-live event is to ensure that your system or application is ready and able to perform well under load (i.e. under the pressure of multiple users). By performance testing with LoadRunner and the help of an experienced performance engineer, you can ensure that your system or application—no matter how simple or complex—is ready to go-live.

Let’s set up a scenario.

You’re undertaking a large project with high pressure expectations and a multitude of stakeholders— and unfortunately, you’re over budget and behind schedule. Do you still schedule in performance testing instead of going straight to production?

What about if you have an internal company system that is slowing down, thus now slowing down your staff from completing work. Considering the bad press that comes along with an application or system that crashes under load, is it worth taking the risk of trying an upgrade?

In both of these scenarios, the answer is yes—performance testing always de-risks projects, making them more likely to succeed and less likely to negatively impact your users.

How does LoadRunner work?

Using LoadRunner, we can emulate user traffic from a user’s perspective. It allows us to create load and volume using the business processes that users perform and thus gives us the ability to see how the system will cope. It’s capability to emulate user traffic and correlate associated metrics (system resources, web servers, network, etc.) is extremely powerful. It’s as close as you can get to a crystal ball in IT—letting you predict what will happen within your system before it goes to prod and affects your users.

LoadRunner comes with a wide range of protocols that it can emulate such as WEB/HTML, RDP, Citrix, SAPGUI, and more. Using its scripting tool, LoadRunner Virtual User Generator (VuGen), performance engineers are able to record and script the different business processes so they accurately represent what users action. Then, in the LoadRunner Controller, a scenario is created so it models the anticipated load on a system. This is used to execute the test and collate results. Finally, in the LoadRunner Analysis tool, we can go over the results of the test and correlate metrics together to view the various aspects of the test. We can also work with the data to discover trends within the results that will hopefully pinpoint any potential performance issues.

Take the example below captured from LoadRunner’s analysis tool after a test:

LoadRunner has a long history in IT, with the first version released in 1989. It's an incredibly mature tool, with a solid reputation.

This was a test conducted for a large data-heavy web-based system. Notice the high response times across the board for each of the different processes—can you imagine the reaction from users of this system if response times are going over 100 seconds for each request?

Another example is testing a new version of an application. The expectation is that the new version should just work…right? A performance test later, looking at the below graph, it would appear that one of the transactions had a performance defect introduced as it now has constant spiking response times. Users now have to wait for an extended period of time to view documents—something that wasn’t an issue before and functional testing did not find. Only while executing and analysing a performance test was this noticed.

 

In 2000, a simplified version of LoadRunner called Astra LoadTest was launched. Today, if you kick LoadRunner hard enough you might even see an error dialog referring to Astra LoadTest.

So how do you go about solving the above problems? Firstly, ensure you get performance testing done to begin with! Then comes the analysis of the data you have collected:

  • Are resources high?
  • Has code been modified?
  • Is the database under-performing?
  • Is there a particular business process that contains high response times?
  • Is it a common component of the application that struggles?

Sometimes the answer is easy and obvious; other times it requires in-depth technical understanding of the environment as well as the results gathered by LoadRunner. Being able to combine performance test execution with in-depth technical analysis is crucial to meaningful results being found.

JDS consultants have more than a decade of experience working with LoadRunner, and we are one of the only Premier Partners of Micro Focus in Australia. This gives us an edge when it comes to performance testing that is unmatched by other performance testers. If you are in the process of introducing a new system or application, make sure you schedule a performance test with JDS. Contact our Micro Focus team today on 1300 780 432 or at microfocus@jds.net.au.

Already have a system or application in place, but looking to make it faster? Take advantage of our One Second Faster solution—five days for less than $5k to get a performance health check.

Our team on the case

Our Micro Focus stories

Posted by JDS Admin in Micro Focus, Tech Tips
JDS partners with PagerDuty on William Hill digital transformation

JDS partners with PagerDuty on William Hill digital transformation

JDS Australia is excited to announce its new technology partnership with PagerDuty, a leading provider of digital operations management. JDS and PagerDuty are working with the online betting platform, William Hill, to achieve a 100% availability rate of its online betting services, putting them ahead of the competition in ensuring the highest levels of customer service by preventing downtime.


"We see great opportunity for PagerDuty in Australia and are proud to commence a partnership so early on in the company's growth journey here. It's been a privilege to work with the team at William Hill, which has been both visionary and committed to extracting the most out of PagerDuty's technological innovation, and from our localised experience," said John Bearsley, Managing Director of JDS Australia.

With JDS's domain expertise in application monitoring and incident response, we led a competitive evaluation and proof of concept for William Hill earlier this year, showing how PagerDuty could improve their performance and availability while also cutting down on some of their manual processes. JDS worked with William Hill to quickly implement the solution, which was an integral part of the operations team’s visibility and incident response during the spring racing carnival.

"For most organisations, 99.9% availability is adequate, but not for us, we want 100% uptime and that’s why we’ve put PagerDuty at the heart of our digital transformation and cloud migration strategy," said Alan Alderson, Head of Infrastructure and Operations, at William Hill Australia. "Incidents happen, every business knows that, but with PagerDuty as an integral partner in our digital and cloud journey, we have the right technology to preempt and manage how you respond to them. We want to instil exceptional operational efficiency throughout our teams to actively manage business and consumer expectations so we have standardised on the PagerDuty Digital Operations Management Platform."

PagerDuty integrates with all of our key vendor partners—Splunk, ServiceNow, AppDynamics, and Micro Focus—as well as more than 200 other technologies and systems. This makes it a perfect fit for our customers, who often have complex technology stacks that need constant monitoring to ensure consistent performance and availability.

JDS is a technology partner and official reseller of PagerDuty, and we look forward to continuing to work closely with them to demonstrate the technology’s innovative capabilities to a wider range of Australian businesses. If you are interested in PagerDuty, learn more about the technology and our capabilities on the PagerDuty webpage. Alternatively, contact us to find out how it would benefit your business specifically.

About PagerDuty

PagerDuty is the leading digital operations management platform for businesses. Through its SaaS-based platform, PagerDuty empowers developers, DevOps, IT operations and business leaders to prevent and resolve business-impacting incidents for exceptional customer experience. More than 10,000 small, mid-size and enterprise global customers such as Lululemon, IBM and Panasonic use and trust PagerDuty to maximize their time and increase their business response and efficiency. When revenue and brand reputation depends on customer satisfaction, PagerDuty arms businesses with the insight to proactively manage incidents and events that may impact customers across their IT environment. Headquartered in San Francisco, with regional offices in Toronto, Sydney and London, the company was recently listed in the 2016 Deloitte Technology Fast 500, Inc. 500 and Forbes 2017 Cloud 100 lists. Try PagerDuty for free at www.pagerduty.com. Follow our blog and connect with us on Twitter, LinkedIn, YouTube and Facebook. PagerDuty is a registered trademark of PagerDuty, Inc. in the United States.

About JDS Australia

JDS is a market leader in supporting the end-to-end application lifecycle. We have nearly 15 years of experience optimising performance and availability for a wide range of Australian and international businesses, using a variety of industry-leading tools. As attested experts in IT services and support, JDS is the trusted partner of choice for leading Australian organisations.

At JDS, our purpose is to ensure your IT systems work wherever, however, and whenever they are needed. Our expert consultants will help you identify current or potential business issues, and then develop customised solutions to suit you.

JDS is different from other providers in the market. We offer 24/7 monitoring capabilities and support throughout the entire application lifecycle. We give your IT Operations team visibility into the health of your IT systems, enabling them to identify and resolve issues quickly.

We are passionate about what we do, working seamlessly with you to ensure you are getting the best possible performance from your environment.

Our team on the case

Focus. Work hard. Stay positive. It always seems impossible until it’s done.

Daniel Tam

Account Manager

Length of Time at JDS

10 years

Skills

I am an experienced Account Manager, with a strong capability for problem-solving and creating the solutions that best match each customer’s unique requirements. I have a demonstrated technical capability across numerous disciplines, including:

  • Performance testing
  • Application performance monitoring (‘APM’)
  • IT Service Management (ITIL 3 certified)
  • CMDB, automation and orchestration

Workplace Passion

I have a strong passion for understanding our customers’ unique requirements and helping to create solutions that best solve both their technical and business needs.

Posted by JDS Admin in Case Study, Entertainment, News, PagerDuty
Citrix and web client engagement on an Enterprise system

Citrix and web client engagement on an Enterprise system

JDS was engaged by a leading superannuation firm to conduct performance testing of their enterprise applications migrating to a new platform. This was part of a merger with a larger superannuation firm. The larger superannuation firm was unaware of their application performance needs and until recent times, performance was not always a high priority during the test lifecycle.

JDS was brought in to provide:

  • Guidance on performance testing best practice
  • Assistance with performance testing applications before the migration of each individual super fund across to the new platform
  • Understanding the impact on performance for each fund prior to migration

During the engagement, there were multiple challenges which the consultants faced. Listed below are a few key challenges encountered, providing general tips for performance testing Citrix.

Synchronisation

You should have synchronisation points prior to ANY user interaction i.e. mouse click or key stroke. This will ensure the correct timing of your scripts during replay. You don’t want to be clicking on windows or buttons that don’t exist or haven’t completely loaded yet. For example:

ctrx_sync_on_window("Warning Message", ACTIVATE, 359, 346, 312, 123, "", CTRX_LAST);
ctrx_key("ENTER_KEY", 0, "", CTRX_LAST);

Screen resolution and depth

Set your desktop colour settings to 16bit. A higher colour setting adds unneeded complexity to bitmap syncs, making them less robust. Ensure that the display settings are identical for the controller and all load generators. Use the "Windows Classic" theme and disable all the "Effects" (Fading, ClearType, etc.)

Recording

Your transactions should follow the pattern of:

  • Start transaction
  • Do something
  • Synchronise
  • Check that it worked
  • End transaction

If you synchronise outside of your transaction timers, the response times you measure will not include the time it took for the application to complete the action.

Runtime settings

JDS recommends the following runtime settings for Citrix:

Logging

  • Enable Logging = Checked
  • Only send messages when an error occurs = Selected
  • Extended logging -> Parameter substitution = Checked
  • Extended logging -> Data returned by server = Checked

Citrix 1

 

Think time

Think time should not be needed if synchronisation has been added correctly

  • Ignore think time = Selected

Citrix 2

Miscellaneous

  • Error Handling -> Fail open transactions on lr_error_message = Checked
  • Error Handling -> Generate snapshot on error = Checked
  • Multithreading -> Run Vuser as a process = Selected

Citrix 3

ICA files

At times you may need to build your own ICA files. Create the connection in the Citrix program neighbourhood. Then get the wfclient.ini file out of C:\Documents and Settings\username\Application Data\ICAClient and rename it to an .ica file. Then add it to the script with files -> add files to script. Use the ICA file option for BPMs/load generators over the "native" VuGen Citrix login details for playback whenever possible as this gives you control over both the resolution and colour depth.

Citrix server setup

Make sure the MetaFrame server (1.8, XP, 3, or 4) is installed. Check the manual to ensure the version you are installing is supported. Citrix sessions should always begin with a new connection, rather than picking up from wherever a previously disconnected session left off, which will most likely not be where the script expects it to be.

Black screen of death

Black snapshots may appear during record or replay when using Citrix Presentation Server 4.0 and 4.5 (before Rollup Pack 3). As a potential workaround, on the Citrix server select Start Menu > Settings > Control Panel > Administrative Tools > Terminal Services Configuration > Server Settings > Licensing and change the setting Per User or Per Device to the alternative setting (i.e. If it is set to Per User, change it to Per Device and vice versa.)

Lossy Compression

A script might play back successfully in VuGen on the Load Generator; however, when running it in a scenario on the same load generator, it could fail on every single image check. This is probably a result of lossy compression—make sure to disable it on the Citrix server.

Script layout

Put clean-up code in vuser_end to close the connection if the actions fail. Don't put login code in vuser_init. If the login fails in vuser_ init, you can't clean-up anything in vuser_end because it won’t run after a failed vuser_init.

JDS found performance issues with the applications during performance tests; however, these issues leaned towards functional performance issues more than volume. They were still investigated to provide an understanding of why the applications were experiencing performance problems.

The performance team then worked with action teams to assist with any possible performance resolutions, for example:

  • Database indexing
  • Improvements to method calls
  • Improving database queries

Tech tips from JDS

Posted by JDS Admin in Financial Services, Tech Tips, Test
Agile Performance Tuning with HP Diagnostics

Agile Performance Tuning with HP Diagnostics

I recently delivered this technical presentation – “Get Dirty with Diagnostics: Agile Performance Tuning at the Lowest Level” at HP’s 2013 Discover conference in Las Vegas. The presentation seemed quite well received, and showed a developing interest in performance testing and tuning within the Agile methodology.

The presentation has been split into 3 parts:

Presentation Abstract:

Learn how to get your hands dirty with Diagnostics and find out WHY your transactions times are breaking SLAs with a single user. This presentation provides a step-by-step walkthrough of how HP Diagnostics can be harnessed with agile to minimize time pressure, cost, and risk to .Net or Java application releases.

Avoid frantic, last minute efforts to debug that are often unfocused and costly. By using HP Diagnostics in an agile development and test cycle you can identify, fix, and retest code-level performance issues before they hurt the most.

This model has been successfully implemented on one of the largest SharePoint installations in the country, with over 8000 daily users. By providing code-level latency visibility to developers, performance issues are found and fixed quickly and accurately at Australia’s largest telecommunications provider.

Learn how to remove the performance issues from your next release go/no-go decision by getting your hands dirty with Diagnostics.

Posted by JDS Admin in Micro Focus, Tech Tips