Performance Testing from the Cloud
Presented at HP Discover 2012
Tom Kleingarn
Technical Manager, Performance Engineering
Digital River

http://www.linkedin.com/in/tomkleingarn
http://www.perftom.com
Agenda
> Digital River
> Case Study
> The Cloud

> Challenges
> Capacity
> Accuracy
> Connectivity

> Optimization
> Summary
>

Global Cloud Commerce Solution Provider
> Founded in 1994
> Over $3 billion in annual online sales

>

Daily Stats
>
>
>
>

20 million page views
30 million emails
175,000 orders
5 terabytes of digital content

>

8 global data centers

>

Industries
>
>
>
>

Software
Consumer Electronics
Games
Payment Processing
Case Study
> Dec, 2011 – Digital River
launched high-capacity order
capture solution
> Capable of capturing 6,000
orders per second
> Per hour, that’s…
> 2 million orders
> 400 stadiums
> The state of Nevada

> 3 day timeline for external
performance validation
Challenges
> Load Generators
> Capacity
> Tuning

> Space
> Supporting teams

> License cost
> Internal network infrastructure
> Time!
Solutions
> Add internal generators
> Cost, space, infrastructure, installation, time
> Not external

> External vendor
> Cost, connectivity, unfamiliar with app

> External generators in public cloud
> Connectivity
The Cloud
> Virtual machine (VM) impermanence

> Capacity and accuracy
> Connectivity
The Cloud
The Cloud
Impermanence
The Cloud
Impermanence
The Cloud
Capacity and accuracy

> http://aws.amazon.com/ec2/instance-types/
> Dedicated CPU, memory, local storage

> Shared network, disk subsystem
> Larger instances guarantee less variability in shared
resources
Cost
> http://aws.amazon.com/ec2/pricing/
The Cloud
Connectivity

54345
Controller

Generator

50500
Controller

<PORT>
System Under
Test (SUT)

443

MI Listener

Generator

System Under
Test (SUT)
The Cloud
Connectivity

54345
Controller

<PORT>
Generator

System Under
Test (SUT)
RDP (3389) - SSH (22)
Installation
> Launch an Instance
Associate an IP Address
> Each generator needs a static IP
Installation - Windows
> Windows Server 2008
> Limited to c1.xlarge
> 8 Cores, 7GB RAM

> I/O performance: High

1. RDP to running instance
2. Download LoadRunner

3. Mount image
4. Install
5. Open port 54345
Installation - Linux
> A little more complicated ...
> Red Hat Enterprise Linux 6.2
> Limited to c1.xlarge
> 8 Cores, 7GB RAM
> I/O performance: High

1. Connect via SSH and Keyfile
>

Windows - Use PuttyGen to generate .ppk file from .pem file

2. Log in as root user
Installation - Linux
4. Set environment variables
> To set automatically on startup, create a .profile file in the
“/root” directory, add this to the file:
export M_LROOT=/opt/HP/HP_LoadGenerator
export LD_LIBRARY_PATH=${M_LROOT}/bin
export PATH=${M_LROOT}/bin:${PATH}
export DISPLAY=localhost0.0

5. Copy LoadRunner installation files to the instance
>

Use WINSCP to connect and copy via SFTP
Installation - Linux
6. Unzip the archive
> unzip <filename>

7. Mount the image
Create the directory i.e. mount point:
> mkdir -p /mnt/disk

Use mount command as follows to mount iso file called disk1.iso:
> mount -o loop LG_Linux_Install.iso /mnt/disk
Change directory to list files stored inside an ISO image:

> cd /mnt/disk
> ls -l
Installation - Linux
8. Run the installer:
> /mnt/disk/Linux/installer.sh

9. Check files in path of LoadRunner installation:
> /opt/HP/HP_LoadGenerator

10. Install additional required packages
> yum install compat-lib*
> yum install glibc.i686
> yum install libstdc++.so.5

11. Install daemon process
/opt/HP/HP_LoadGenerator/bin/m_daemon_setup -install
Installation - Linux
12. Create a wrapper script the starts the m_daemon_setup process in
/usr/local/bin (to follow common practices)
#!/bin/bash
# LoadRunner load generator daemon startup script
echo Initializing load generator daemon process …
echo This process is required to connect to the generator
from the controller machine
echo without using RSH
# Installation command is:
# /opt/HP/HP_LoadGenerator/bin/m_daemon_setup -install
# If the daemon is already installed, just start it with
the following command

m_daemon_setup start $M_LROOT/bin
# Other args include: -kill, -remove, -start, -stop, -stat
Installation - Linux
13. Add this to your .profile file to run the script on startup
> source /usr/local/bin/init_loadgenerator_daemon

> Considerations, additional security
> MI Listener configuration
> RSH vs. daemon process
> Host Security Manager (since LR 9.5)
Connect Controller to Generators
> Windows, no extra steps
> Linux, specify UNIX OS
> Log in via SSH, verify connectivity and daemon process

> Generator Details
> Controller > Unix Environment > Check “Don’t use RSH”
Generator - Unix Environment Settings
Optimize for High Throughput
> Load generators create thousands of connections
> Limit of 65,534 connections per network interface

> Avoid port starvation, increase the port range used, and allow
reuse of sockets in TIME_WAIT
> Windows
> HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServi
cesTcpipParameters
> Set value to 65534

> Linux
> sysctl -w net.ipv4.ip_local_port_range="1024
65535“
> sysctl -w net.ipv4.tcp_tw_recycle=1

> Linux has a throughput advantage here!
Use Multiple Data Sources

Controller

Cloud
Generator

Physical
Generator

System Under
Test (SUT)

External
Monitor
Case Study Results
> Cloud generators yielded reliable results
> Alignment across internal generators, external
generators, and independent client validation

> Results from single server yielded 2,000+ orders per second
Case Study Results
> Linear scale confirmed
Orders Captured per Second by Server Count
35,000

30,000

Orders per Second

25,000

20,000

15,000

10,000

5,000

0
1

2

3

4

5

6

7

8

Server Count

9

10

11

12

13

14

15
Summary
> The cloud is cost effective but unpredictable
> Capacity
> Use the largest footprint possible

> Accuracy
> Compare results across data sources
> Monitor physical and virtual utilization (if possible)

> Connectivity
> 54345 or MI Listener
> Linux - LR Daemon or RSH
> Configure optimal port range, remember Linux advantage
Benefits
> Cost Savings
> Hardware
> $4000 for 8 core, 8GB server

> $400 monthly maintenance

> External vendor - $20K

> Time
> No dependence on infrastructure team for
provisioning/support/maintenance

> On demand flexibility
Questions?

More Related Content

PDF
PENYELESAIAN SOAL UKK/UPK TAHUN 2018 Paket 3 oleh Walid Umar
DOC
Setting ubuntu server sebagai pc router
PPTX
Infrastructure as code with Docker and fig
DOC
Modul quick debserver
PDF
Docker &amp; rancher
PPTX
Native Containers on Windows 10 & Windows Server 2016 using Docker
PDF
Docker in practice
PPTX
Hadoop presentation
PENYELESAIAN SOAL UKK/UPK TAHUN 2018 Paket 3 oleh Walid Umar
Setting ubuntu server sebagai pc router
Infrastructure as code with Docker and fig
Modul quick debserver
Docker &amp; rancher
Native Containers on Windows 10 & Windows Server 2016 using Docker
Docker in practice
Hadoop presentation

What's hot (20)

PDF
Getting instantly up and running with Docker and Symfony
PDF
[Cook book] ansible 4_dell emc networking
PPTX
Docker for dev
PPTX
ABCing docker with environments - workshop
PPTX
Deploying Windows Containers on Windows Server 2016
PDF
Open-E DSS V7 Remote Snapshot Control with CLI/API
PDF
How to Tune the Windows DNS Server 2012 R2 for Best Performance
PPTX
DNS SERVER
PDF
Open-E DSS V7 Active-Active Load Balanced iSCSI HA Cluster (with bonding)
PDF
Open-E DSS V7 Asynchronous Data Replication within a System
PDF
PPTX
Web server
ODP
Nagios Conference 2013 - Leland Lammert - Nagios in a Multi-Platform Enviornment
PPTX
Introduction to Docker
PDF
Automated Java Deployments With Rpm
ODP
Utilizing the Xen Hypervisor in business practice - Bryan Fusilier
PPTX
Linux one sles12sp3 installation lpar
PDF
Shaping Clouds with Terraform
PPTX
EuroPython 2016 : A Deep Dive into the Pymongo Driver
TXT
Serial key
Getting instantly up and running with Docker and Symfony
[Cook book] ansible 4_dell emc networking
Docker for dev
ABCing docker with environments - workshop
Deploying Windows Containers on Windows Server 2016
Open-E DSS V7 Remote Snapshot Control with CLI/API
How to Tune the Windows DNS Server 2012 R2 for Best Performance
DNS SERVER
Open-E DSS V7 Active-Active Load Balanced iSCSI HA Cluster (with bonding)
Open-E DSS V7 Asynchronous Data Replication within a System
Web server
Nagios Conference 2013 - Leland Lammert - Nagios in a Multi-Platform Enviornment
Introduction to Docker
Automated Java Deployments With Rpm
Utilizing the Xen Hypervisor in business practice - Bryan Fusilier
Linux one sles12sp3 installation lpar
Shaping Clouds with Terraform
EuroPython 2016 : A Deep Dive into the Pymongo Driver
Serial key
Ad

Viewers also liked (9)

PPTX
Pensando TDD
PPT
Keyword Driven Testing
PDF
QC Sprinter Whitepaper
PPTX
Cloud based Performance Testing
PPTX
Search Engine Optimization
PPTX
Web Services Testing
PPTX
Load Runner
PPTX
Marko Synkkäsen esitys Uusi koulutus -foorumin työpajassa 16.4.2015
PPTX
Cloud Performance Testing with LoadRunner
Pensando TDD
Keyword Driven Testing
QC Sprinter Whitepaper
Cloud based Performance Testing
Search Engine Optimization
Web Services Testing
Load Runner
Marko Synkkäsen esitys Uusi koulutus -foorumin työpajassa 16.4.2015
Cloud Performance Testing with LoadRunner
Ad

Similar to Performance Testing from the Cloud (20)

PDF
NephOS Product Datasheet
PDF
OpenStack & Ubuntu (india openstack day)
PDF
Accelerate Your OpenStack Deployment Presented by SolidFire and Red Hat
PDF
LEG Keynote: Linda Knippers - HP
PPTX
Introduction to HPC & Supercomputing in AI
PDF
Welcome to a Computing Revolution - Alex Lesser
PDF
OpenStack at the speed of business with SolidFire & Red Hat
PDF
Simulating Heterogeneous Resources in CloudLightning
PPTX
Build Your Own Performance Test Lab in the Cloud
PPTX
Ceph Day Melbourne - Walk Through a Software Defined Everything PoC
PPTX
PLNOG 13: Maciej Grabowski: HP Moonshot
PDF
Red Hat Enterprise Linux and NFS by syedmshaaf
PDF
Calton pu experimental methods on performance in cloud and accuracy in big da...
PDF
New Jersey Red Hat Users Group Presentation: Provisioning anywhere
PDF
Running OpenStack in Production - Barcamp Saigon 2016
KEY
Real World Cloud Application Security
PPTX
Rht cloud 129
PDF
Red Hat Enterprise Linux: The web performance leader
PPTX
Software Defined Storage, Big Data and Ceph - What Is all the Fuss About?
PPTX
New Ceph capabilities and Reference Architectures
NephOS Product Datasheet
OpenStack & Ubuntu (india openstack day)
Accelerate Your OpenStack Deployment Presented by SolidFire and Red Hat
LEG Keynote: Linda Knippers - HP
Introduction to HPC & Supercomputing in AI
Welcome to a Computing Revolution - Alex Lesser
OpenStack at the speed of business with SolidFire & Red Hat
Simulating Heterogeneous Resources in CloudLightning
Build Your Own Performance Test Lab in the Cloud
Ceph Day Melbourne - Walk Through a Software Defined Everything PoC
PLNOG 13: Maciej Grabowski: HP Moonshot
Red Hat Enterprise Linux and NFS by syedmshaaf
Calton pu experimental methods on performance in cloud and accuracy in big da...
New Jersey Red Hat Users Group Presentation: Provisioning anywhere
Running OpenStack in Production - Barcamp Saigon 2016
Real World Cloud Application Security
Rht cloud 129
Red Hat Enterprise Linux: The web performance leader
Software Defined Storage, Big Data and Ceph - What Is all the Fuss About?
New Ceph capabilities and Reference Architectures

Recently uploaded (20)

PDF
Flame analysis and combustion estimation using large language and vision assi...
PDF
Improvisation in detection of pomegranate leaf disease using transfer learni...
PPTX
AI IN MARKETING- PRESENTED BY ANWAR KABIR 1st June 2025.pptx
PPTX
Chapter 5: Probability Theory and Statistics
PDF
Zenith AI: Advanced Artificial Intelligence
PDF
Getting started with AI Agents and Multi-Agent Systems
PDF
Enhancing plagiarism detection using data pre-processing and machine learning...
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
DOCX
search engine optimization ppt fir known well about this
PDF
How IoT Sensor Integration in 2025 is Transforming Industries Worldwide
PPTX
Modernising the Digital Integration Hub
PDF
OpenACC and Open Hackathons Monthly Highlights July 2025
PDF
The influence of sentiment analysis in enhancing early warning system model f...
PPTX
The various Industrial Revolutions .pptx
PDF
sustainability-14-14877-v2.pddhzftheheeeee
PDF
CloudStack 4.21: First Look Webinar slides
PDF
1 - Historical Antecedents, Social Consideration.pdf
PDF
Credit Without Borders: AI and Financial Inclusion in Bangladesh
PPTX
2018-HIPAA-Renewal-Training for executives
PDF
STKI Israel Market Study 2025 version august
Flame analysis and combustion estimation using large language and vision assi...
Improvisation in detection of pomegranate leaf disease using transfer learni...
AI IN MARKETING- PRESENTED BY ANWAR KABIR 1st June 2025.pptx
Chapter 5: Probability Theory and Statistics
Zenith AI: Advanced Artificial Intelligence
Getting started with AI Agents and Multi-Agent Systems
Enhancing plagiarism detection using data pre-processing and machine learning...
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
search engine optimization ppt fir known well about this
How IoT Sensor Integration in 2025 is Transforming Industries Worldwide
Modernising the Digital Integration Hub
OpenACC and Open Hackathons Monthly Highlights July 2025
The influence of sentiment analysis in enhancing early warning system model f...
The various Industrial Revolutions .pptx
sustainability-14-14877-v2.pddhzftheheeeee
CloudStack 4.21: First Look Webinar slides
1 - Historical Antecedents, Social Consideration.pdf
Credit Without Borders: AI and Financial Inclusion in Bangladesh
2018-HIPAA-Renewal-Training for executives
STKI Israel Market Study 2025 version august

Performance Testing from the Cloud

  • 1. Performance Testing from the Cloud Presented at HP Discover 2012 Tom Kleingarn Technical Manager, Performance Engineering Digital River http://www.linkedin.com/in/tomkleingarn http://www.perftom.com
  • 2. Agenda > Digital River > Case Study > The Cloud > Challenges > Capacity > Accuracy > Connectivity > Optimization > Summary
  • 3. > Global Cloud Commerce Solution Provider > Founded in 1994 > Over $3 billion in annual online sales > Daily Stats > > > > 20 million page views 30 million emails 175,000 orders 5 terabytes of digital content > 8 global data centers > Industries > > > > Software Consumer Electronics Games Payment Processing
  • 4. Case Study > Dec, 2011 – Digital River launched high-capacity order capture solution > Capable of capturing 6,000 orders per second > Per hour, that’s… > 2 million orders > 400 stadiums > The state of Nevada > 3 day timeline for external performance validation
  • 5. Challenges > Load Generators > Capacity > Tuning > Space > Supporting teams > License cost > Internal network infrastructure > Time!
  • 6. Solutions > Add internal generators > Cost, space, infrastructure, installation, time > Not external > External vendor > Cost, connectivity, unfamiliar with app > External generators in public cloud > Connectivity
  • 7. The Cloud > Virtual machine (VM) impermanence > Capacity and accuracy > Connectivity
  • 11. The Cloud Capacity and accuracy > http://aws.amazon.com/ec2/instance-types/ > Dedicated CPU, memory, local storage > Shared network, disk subsystem > Larger instances guarantee less variability in shared resources
  • 16. Associate an IP Address > Each generator needs a static IP
  • 17. Installation - Windows > Windows Server 2008 > Limited to c1.xlarge > 8 Cores, 7GB RAM > I/O performance: High 1. RDP to running instance 2. Download LoadRunner 3. Mount image 4. Install 5. Open port 54345
  • 18. Installation - Linux > A little more complicated ... > Red Hat Enterprise Linux 6.2 > Limited to c1.xlarge > 8 Cores, 7GB RAM > I/O performance: High 1. Connect via SSH and Keyfile > Windows - Use PuttyGen to generate .ppk file from .pem file 2. Log in as root user
  • 19. Installation - Linux 4. Set environment variables > To set automatically on startup, create a .profile file in the “/root” directory, add this to the file: export M_LROOT=/opt/HP/HP_LoadGenerator export LD_LIBRARY_PATH=${M_LROOT}/bin export PATH=${M_LROOT}/bin:${PATH} export DISPLAY=localhost0.0 5. Copy LoadRunner installation files to the instance > Use WINSCP to connect and copy via SFTP
  • 20. Installation - Linux 6. Unzip the archive > unzip <filename> 7. Mount the image Create the directory i.e. mount point: > mkdir -p /mnt/disk Use mount command as follows to mount iso file called disk1.iso: > mount -o loop LG_Linux_Install.iso /mnt/disk Change directory to list files stored inside an ISO image: > cd /mnt/disk > ls -l
  • 21. Installation - Linux 8. Run the installer: > /mnt/disk/Linux/installer.sh 9. Check files in path of LoadRunner installation: > /opt/HP/HP_LoadGenerator 10. Install additional required packages > yum install compat-lib* > yum install glibc.i686 > yum install libstdc++.so.5 11. Install daemon process /opt/HP/HP_LoadGenerator/bin/m_daemon_setup -install
  • 22. Installation - Linux 12. Create a wrapper script the starts the m_daemon_setup process in /usr/local/bin (to follow common practices) #!/bin/bash # LoadRunner load generator daemon startup script echo Initializing load generator daemon process … echo This process is required to connect to the generator from the controller machine echo without using RSH # Installation command is: # /opt/HP/HP_LoadGenerator/bin/m_daemon_setup -install # If the daemon is already installed, just start it with the following command m_daemon_setup start $M_LROOT/bin # Other args include: -kill, -remove, -start, -stop, -stat
  • 23. Installation - Linux 13. Add this to your .profile file to run the script on startup > source /usr/local/bin/init_loadgenerator_daemon > Considerations, additional security > MI Listener configuration > RSH vs. daemon process > Host Security Manager (since LR 9.5)
  • 24. Connect Controller to Generators > Windows, no extra steps > Linux, specify UNIX OS > Log in via SSH, verify connectivity and daemon process > Generator Details > Controller > Unix Environment > Check “Don’t use RSH”
  • 25. Generator - Unix Environment Settings
  • 26. Optimize for High Throughput > Load generators create thousands of connections > Limit of 65,534 connections per network interface > Avoid port starvation, increase the port range used, and allow reuse of sockets in TIME_WAIT > Windows > HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServi cesTcpipParameters > Set value to 65534 > Linux > sysctl -w net.ipv4.ip_local_port_range="1024 65535“ > sysctl -w net.ipv4.tcp_tw_recycle=1 > Linux has a throughput advantage here!
  • 27. Use Multiple Data Sources Controller Cloud Generator Physical Generator System Under Test (SUT) External Monitor
  • 28. Case Study Results > Cloud generators yielded reliable results > Alignment across internal generators, external generators, and independent client validation > Results from single server yielded 2,000+ orders per second
  • 29. Case Study Results > Linear scale confirmed Orders Captured per Second by Server Count 35,000 30,000 Orders per Second 25,000 20,000 15,000 10,000 5,000 0 1 2 3 4 5 6 7 8 Server Count 9 10 11 12 13 14 15
  • 30. Summary > The cloud is cost effective but unpredictable > Capacity > Use the largest footprint possible > Accuracy > Compare results across data sources > Monitor physical and virtual utilization (if possible) > Connectivity > 54345 or MI Listener > Linux - LR Daemon or RSH > Configure optimal port range, remember Linux advantage
  • 31. Benefits > Cost Savings > Hardware > $4000 for 8 core, 8GB server > $400 monthly maintenance > External vendor - $20K > Time > No dependence on infrastructure team for provisioning/support/maintenance > On demand flexibility

Editor's Notes

  • #2: Global E-CommerceIndustries Software Consumer Electronics GamesPayments global payments program local and global payment methods real time fraudE-Marketing email analytics bid management full service or self service
  • #16: http://youtu.be/Kr3BN0XctPU
  • #17: http://youtu.be/F_PSaOu6kao
  • #29: Results from a single web server