SlideShare a Scribd company logo
Outline
• What is load impact?
• The main Components of Load Impact.
o Load testing tool.
o Page analyzer.
• Why Load Test?
• What is a test configuration?
• How to create test configuration?
• What is Scheduled tests?
• How to schedule tests?
• Using page analyzer.
• What is user scenarios?
• How to create your own scenarios?
• How to create user scenarios?
o Lua Tutorial.
o Load impact with scripting?
o HTTP status codes.
What is load impact?
• Load Impact is a cloud-based service for load
testing and website optimization. It generates traffic
load by simulating users. Load Impact is a so-called
freemium service.
The main Components of Load Impact
• Load Impact consists of two main parts:
1. Load testing tool.
2. Page analyzer.
1. Load testing tool
• It generates simulated user traffic to a website. Users can
simulate virtual users who are trying to load the web pages at
the same time.
• Results are displayed in real time throughout the test process.
• There are three different types of load test:
1. Fixed - Test with static load level throughout the test.
2. Ramp-up - Test that starts at a low level and increases stepwise until it
reaches a maximum predetermined level.
3. Timeout - Ramp-up tests that increase the load level until the server
becomes too slow, or when the maximum load level is reached.
2. Page analyzer
• It loads a web page the same way a web browser
would.
• It shows the user what objects were loaded, in what
order, and how long each object took to load.
• It also gives the user information about return
codes, compression ratio, etc.
Why Load Test?
• Having a fast website is a key to commercial success on the
Internet.
• A slow website will increase your bounce rate, reduce your rank in
search engines & reduce conversions rates.
• In studies published in says that the average visitor expects a web
page to load in no more than two seconds.
• In 2010, Google has included site speed as part of its search
ranking algorithm.
What is a test configuration?
• A test configuration describes the load test you want to run –
how many simulated users the test should load your site with,
and what those users should do on your site (what pages they
should load on the site).
How to create test configuration?
1
2
1- choose the “test configuration” section, then click on “Create test
configuration”.
2- Type a name for the test, then enter the target URL
How to create test configuration? (CONT>>)
3
This section will allow
you to specify what
load levels the test will
use, and how quickly to
ramp up or down
to/from those load
levels.
How to create test configuration? (CONT>>)
3
What are VU and SBU users?
• A Virtual User will only use a single network connection
when loading resources from a target host. Resources
can be loaded from multiple hosts in the same test,
however, that will then result in one connection per
target host, per VU.
• A Simulated Browser User (SBU) can use multiple
concurrent network connections when loading
resources from a single target host. This results in faster
page loads, but also a lot more stress on the target
server that has to serve four connections at once
instead of just one.
How to create test configuration? (CONT>>)
4
4 – Add extra IP address! But why?
Let’s take this example “If you are running a 800 SBU test with user
scenarios distributed evenly across a total of 5 loadzones (i.e. 800/5 =
160 SBUs per loadzone), you will have 1 (IP addresses assigned for 160
SBUs per loadzone) x 5 (user scenarios/loadzones) = 5 IP addresses
assigned to your load test”.
How to create test configuration? (CONT>>)
5
5 – Finally, click on “Create test configuration and start test” to start
testing.
Or, you could click on, “Create test configuration” to save the
configuration for later use.
What is Scheduled tests?
Scheduling allows you to run a load test at some point in the
future, or to run a load test regularly at certain intervals.
How to schedule tests?
1
1- choose the “Scheduled tests” section, then click on “Add new
scheduled test”.
How to schedule tests?(CONT>>)
2
“Make sure you have created test
configuration” before you start
scheduling.
2- choose the test configuration.
3- Type the schedule data.
4- Type the schedule time.
5- choose the reputation time (Daily,
Weakly, Monthly).
6 – Schedule it.
3
4
5
6
Using page analyzer
• To Access the page analyzer section go to:
https://loadimpact.com/page-analyzer
1- Type the target URL.
2- choose the browser
to emulate during
analysis.
3- click on analyze.
1 2 3
Case Study: ksu.edu.sa
The load times are represented
as colored bars which is
divided into several
components. They are:
- Time in queue (grey).
- DNS lookup time (orange).
- Connection time (yellow).
- Time to first byte (green).
- Download time (blue).
Case Study: ksu.edu.sa (CONT>>)
What is user scenarios?
A user scenario is a sequence of HTTP transactions that emulates a
certain type of user on your site. You can have several user scenarios in
a single load test, emulating several different types of users.
What is Lua?
Lua is a lightweight multi-paradigm programming language designed
as a scripting language.
Why Lua?
• Lua is cross-platform.
• It’s simple, elegant and easy to learn.
• It’s also light-weight and very suitable for resource-intensive
applications such as load testing.
A Quick tutorial: Introduction to
let’s
Types in Lua
There are 8 types in Lua:
1- Number : Numeric value represented in double.
2- String: A sequence of arbitrary characters.
3- Boolean : "true" and "false“.
4- function : First-class object in Lua.
5- Table : Heterogeneous[1] hash table.
6- Thread : C data structures defined by C users.
7 – Userdata : Lua coroutine, a cooperative threading.
8- Nil : Nothing.
[1] : Heterogeneous composed of parts of different kinds.
Functions in Lua
function foo(a, b, c)
local sum = a + b
return sum, c --A function can return multi values.
End
var1, var2 = foo(1, '123', ‘KSU') --Parallel assignment
print(var1, var2)
output:
124 KSU
Tables in Lua
To create Table:
> t = {} -- construct an empty table and assign it to variable "t"
> print(t)
Output: table: 0035AE18
Tables as arrays:
> t = { 1,1,2,3,5,8,13 }
> print( t[1] )
Output: 1
> print( t[0] )
Output: nil
> print( t[4] )
Output: 3
What about this:
> = # t --
Output: 7
guess what?To find the size of the table
How to create your own scenarios?
Scenario
name
Target
URL
Generate
the scenario
automatically
Validate
script
documentation
Editor
Validation results
How to create your own scenarios?
Examples:
1- load test a single recourse
http.request_batch({
{"GET", http://loadimpact.com/"}
})
2- POST requests
http.request_batch({
{"POST", "http://test.loadimpact.com/login.php" ,
data="login=test_user&password=123"}
})
3- Load-test multiple resources
http.request_batch({
{“GET”, “http://test.loadimpact.com/news.php”}
})
http.request_batch({
{“GET”, “http://test.loadimpact.com/contacts.php”}
})
How to create your own scenarios?(CONT>>)
Examples:
4- Random delays between requests
http.request_batch({
{"GET", "http://test.loadimpact.com/news.php"},
})
client.sleep(
math.random(1, 15) --Sleeps between 1 - 15 seconds before continuing
)
http.request_batch({
{"GET", "http://test.loadimpact.com/news.php"},
})
5- Read HTTP headers from a response
local response = http.request_batch({
{"GET", "http://google.com"},
})
log.info(
"google.com uses `" .. tostring(response[1].headers["Server"][1])
.. "' as a server software"
)
How to create your own scenarios?(CONT>>)
Examples:
6- Setting headers for a request
Sometimes you need to set custom HTTP headers for your request. One reason is
to see if your server handles client-side caching.
local response = http.request_batch({
{"GET", "http://test.loadimpact.com/",
headers = {
["If-Modified-Since"] = "Tue, 18 Jun 2013 03:30:00 GMT";
}
}
})
if response[1].status_code==304 then
log.info("not modified")
elseif response[1].status_code==200 then
log.info("modified")
else
log.error("unexpected code" .. tostring(response[1].status_code))
end
Some HTTP status codes:
Categories: 1xx Informational , 2xx Success , 3xx Redirection , 4xx Client
Error , 5xx Server Error.
Status code Description
304 Not Modified
Indicates that the resource has not been modified since the version
specified by the request headers If-Modified-Since or If-Match.
400 Bad Request
The request cannot be fulfilled due to bad syntax.
401 Unauthorized
Similar to 403 Forbidden, but specifically for use when authentication
is required and has failed or has not yet been provided.
403 Forbidden
The request was a valid request, but the server is refusing to respond
to it.
404 Not Found
The requested resource could not be found but may be available
again in the future
500 Internal Server
Error
A generic error message, given when no more specific message is
suitable.
503 Service
Unavailable
The server is currently unavailable (because it is overloaded or down
for maintenance).
For more information
Visit the knowledge base
http://support.loadimpact.com/
References
• https://loadimpact.com/learning-center/
• http://support.loadimpact.com/knowledgebase/articles/
• http://en.wikipedia.org/wiki/List_of_HTTP_status_codes
• http://www.lua.org/pil/contents.html
This file is licensed under a Creative Commons Attribution

More Related Content

What's hot

Spring Web Services: SOAP vs. REST
Spring Web Services: SOAP vs. RESTSpring Web Services: SOAP vs. REST
Spring Web Services: SOAP vs. REST
Sam Brannen
 
Caching and invalidating with managed store
Caching and invalidating with managed storeCaching and invalidating with managed store
Caching and invalidating with managed store
Anirban Sen Chowdhary
 
ASP.NET Mvc 4 web api
ASP.NET Mvc 4 web apiASP.NET Mvc 4 web api
ASP.NET Mvc 4 web api
Tiago Knoch
 
Service-Oriented Integration With Apache ServiceMix
Service-Oriented Integration With Apache ServiceMixService-Oriented Integration With Apache ServiceMix
Service-Oriented Integration With Apache ServiceMix
Bruce Snyder
 
AD102 - Break out of the Box
AD102 - Break out of the BoxAD102 - Break out of the Box
AD102 - Break out of the Box
Karl-Henry Martinsson
 
IBM Connect 2016 - Break out of the Box
IBM Connect 2016 - Break out of the BoxIBM Connect 2016 - Break out of the Box
IBM Connect 2016 - Break out of the Box
Karl-Henry Martinsson
 
Break out of The Box - Part 2
Break out of The Box - Part 2Break out of The Box - Part 2
Break out of The Box - Part 2
Karl-Henry Martinsson
 
For each component in mule
For each component in muleFor each component in mule
For each component in mule
Rajkattamuri
 
Ajax
AjaxAjax
Restful webservices
Restful webservicesRestful webservices
Restful webservices
Luqman Shareef
 
ASP.NET WEB API Training
ASP.NET WEB API TrainingASP.NET WEB API Training
ASP.NET WEB API Training
Chalermpon Areepong
 
What's up with HTTP?
What's up with HTTP?What's up with HTTP?
What's up with HTTP?
Mark Nottingham
 
Message properties component in Mule
Message properties component in MuleMessage properties component in Mule
Message properties component in Mule
Khan625
 
internet programming and java notes 5th sem mca
internet programming and java notes 5th sem mcainternet programming and java notes 5th sem mca
internet programming and java notes 5th sem mca
Renu Thakur
 
ServiceMix 4 -- Integrating OSGi with JBI
ServiceMix 4 -- Integrating OSGi with JBIServiceMix 4 -- Integrating OSGi with JBI
ServiceMix 4 -- Integrating OSGi with JBI
Gert Vanthienen
 
AJAX
AJAXAJAX
AJAX
ARJUN
 
Timer Interceptor in Mule part 2
Timer Interceptor in Mule part 2Timer Interceptor in Mule part 2
Timer Interceptor in Mule part 2
Anirban Sen Chowdhary
 
MuleSoft ESB Routes first-successful
MuleSoft ESB Routes first-successfulMuleSoft ESB Routes first-successful
MuleSoft ESB Routes first-successful
akashdprajapati
 
Input validation slides of web application workshop
Input validation slides of web application workshopInput validation slides of web application workshop
Input validation slides of web application workshop
Payampardaz
 
Excellent rest using asp.net web api
Excellent rest using asp.net web apiExcellent rest using asp.net web api
Excellent rest using asp.net web api
Maurice De Beijer [MVP]
 

What's hot (20)

Spring Web Services: SOAP vs. REST
Spring Web Services: SOAP vs. RESTSpring Web Services: SOAP vs. REST
Spring Web Services: SOAP vs. REST
 
Caching and invalidating with managed store
Caching and invalidating with managed storeCaching and invalidating with managed store
Caching and invalidating with managed store
 
ASP.NET Mvc 4 web api
ASP.NET Mvc 4 web apiASP.NET Mvc 4 web api
ASP.NET Mvc 4 web api
 
Service-Oriented Integration With Apache ServiceMix
Service-Oriented Integration With Apache ServiceMixService-Oriented Integration With Apache ServiceMix
Service-Oriented Integration With Apache ServiceMix
 
AD102 - Break out of the Box
AD102 - Break out of the BoxAD102 - Break out of the Box
AD102 - Break out of the Box
 
IBM Connect 2016 - Break out of the Box
IBM Connect 2016 - Break out of the BoxIBM Connect 2016 - Break out of the Box
IBM Connect 2016 - Break out of the Box
 
Break out of The Box - Part 2
Break out of The Box - Part 2Break out of The Box - Part 2
Break out of The Box - Part 2
 
For each component in mule
For each component in muleFor each component in mule
For each component in mule
 
Ajax
AjaxAjax
Ajax
 
Restful webservices
Restful webservicesRestful webservices
Restful webservices
 
ASP.NET WEB API Training
ASP.NET WEB API TrainingASP.NET WEB API Training
ASP.NET WEB API Training
 
What's up with HTTP?
What's up with HTTP?What's up with HTTP?
What's up with HTTP?
 
Message properties component in Mule
Message properties component in MuleMessage properties component in Mule
Message properties component in Mule
 
internet programming and java notes 5th sem mca
internet programming and java notes 5th sem mcainternet programming and java notes 5th sem mca
internet programming and java notes 5th sem mca
 
ServiceMix 4 -- Integrating OSGi with JBI
ServiceMix 4 -- Integrating OSGi with JBIServiceMix 4 -- Integrating OSGi with JBI
ServiceMix 4 -- Integrating OSGi with JBI
 
AJAX
AJAXAJAX
AJAX
 
Timer Interceptor in Mule part 2
Timer Interceptor in Mule part 2Timer Interceptor in Mule part 2
Timer Interceptor in Mule part 2
 
MuleSoft ESB Routes first-successful
MuleSoft ESB Routes first-successfulMuleSoft ESB Routes first-successful
MuleSoft ESB Routes first-successful
 
Input validation slides of web application workshop
Input validation slides of web application workshopInput validation slides of web application workshop
Input validation slides of web application workshop
 
Excellent rest using asp.net web api
Excellent rest using asp.net web apiExcellent rest using asp.net web api
Excellent rest using asp.net web api
 

Similar to Load Impact

Load testing using_neoload by kc
Load testing using_neoload by kcLoad testing using_neoload by kc
Load testing using_neoload by kc
krishna chaitanya
 
Wap Tpresentation
Wap TpresentationWap Tpresentation
Wap Tpresentation
Rahul Sharma
 
Performance testing jmeter
Performance testing jmeterPerformance testing jmeter
Performance testing jmeter
Bhojan Rajan
 
Wap tpresentation (Load testing Tool )
Wap tpresentation (Load testing Tool )Wap tpresentation (Load testing Tool )
Wap tpresentation (Load testing Tool )
jagdishdevabhaipatel
 
Performancetestingjmeter 121109061704-phpapp02
Performancetestingjmeter 121109061704-phpapp02Performancetestingjmeter 121109061704-phpapp02
Performancetestingjmeter 121109061704-phpapp02
Shivakumara .
 
Do not automate GUI testing
Do not automate GUI testingDo not automate GUI testing
Do not automate GUI testing
Atila Inovecký
 
JMeter Intro
JMeter IntroJMeter Intro
JMeter Intro
Sam Varadarajan
 
J Meter Intro
J Meter IntroJ Meter Intro
J Meter Intro
Sam Varadarajan
 
Less12 3 e_loadmodule_2
Less12 3 e_loadmodule_2Less12 3 e_loadmodule_2
Less12 3 e_loadmodule_2
Suresh Mishra
 
Oracle appsloadtestbestpractices
Oracle appsloadtestbestpracticesOracle appsloadtestbestpractices
Oracle appsloadtestbestpractices
sonusaini69
 
QSpiders - Introduction to HP Load Runner
QSpiders - Introduction to HP Load RunnerQSpiders - Introduction to HP Load Runner
QSpiders - Introduction to HP Load Runner
Qspiders - Software Testing Training Institute
 
Quick guide to plan and execute a load test
Quick guide to plan and execute a load testQuick guide to plan and execute a load test
Quick guide to plan and execute a load test
duke.kalra
 
JMeter & ColdFusion
JMeter & ColdFusion JMeter & ColdFusion
JMeter & ColdFusion
isummation
 
Qc dept open_sta overview
Qc dept open_sta overviewQc dept open_sta overview
Qc dept open_sta overview
qc-pyramid
 
Are Your Teams Writing Quality Code
Are Your Teams Writing Quality CodeAre Your Teams Writing Quality Code
Are Your Teams Writing Quality Code
sentoh
 
Browser Based Performance Testing and Tuning
Browser Based Performance Testing and TuningBrowser Based Performance Testing and Tuning
Browser Based Performance Testing and Tuning
Bala Murali Krishna Kanchukambala
 
Laravel Load Testing: Strategies and Tools
Laravel Load Testing: Strategies and ToolsLaravel Load Testing: Strategies and Tools
Laravel Load Testing: Strategies and Tools
Muhammad Shehata
 
Load testing with Visual Studio and Azure - Andrew Siemer
Load testing with Visual Studio and Azure - Andrew SiemerLoad testing with Visual Studio and Azure - Andrew Siemer
Load testing with Visual Studio and Azure - Andrew Siemer
Andrew Siemer
 
JMeter
JMeterJMeter
JMETER-SKILLWISE
JMETER-SKILLWISEJMETER-SKILLWISE
JMETER-SKILLWISE
Skillwise Consulting
 

Similar to Load Impact (20)

Load testing using_neoload by kc
Load testing using_neoload by kcLoad testing using_neoload by kc
Load testing using_neoload by kc
 
Wap Tpresentation
Wap TpresentationWap Tpresentation
Wap Tpresentation
 
Performance testing jmeter
Performance testing jmeterPerformance testing jmeter
Performance testing jmeter
 
Wap tpresentation (Load testing Tool )
Wap tpresentation (Load testing Tool )Wap tpresentation (Load testing Tool )
Wap tpresentation (Load testing Tool )
 
Performancetestingjmeter 121109061704-phpapp02
Performancetestingjmeter 121109061704-phpapp02Performancetestingjmeter 121109061704-phpapp02
Performancetestingjmeter 121109061704-phpapp02
 
Do not automate GUI testing
Do not automate GUI testingDo not automate GUI testing
Do not automate GUI testing
 
JMeter Intro
JMeter IntroJMeter Intro
JMeter Intro
 
J Meter Intro
J Meter IntroJ Meter Intro
J Meter Intro
 
Less12 3 e_loadmodule_2
Less12 3 e_loadmodule_2Less12 3 e_loadmodule_2
Less12 3 e_loadmodule_2
 
Oracle appsloadtestbestpractices
Oracle appsloadtestbestpracticesOracle appsloadtestbestpractices
Oracle appsloadtestbestpractices
 
QSpiders - Introduction to HP Load Runner
QSpiders - Introduction to HP Load RunnerQSpiders - Introduction to HP Load Runner
QSpiders - Introduction to HP Load Runner
 
Quick guide to plan and execute a load test
Quick guide to plan and execute a load testQuick guide to plan and execute a load test
Quick guide to plan and execute a load test
 
JMeter & ColdFusion
JMeter & ColdFusion JMeter & ColdFusion
JMeter & ColdFusion
 
Qc dept open_sta overview
Qc dept open_sta overviewQc dept open_sta overview
Qc dept open_sta overview
 
Are Your Teams Writing Quality Code
Are Your Teams Writing Quality CodeAre Your Teams Writing Quality Code
Are Your Teams Writing Quality Code
 
Browser Based Performance Testing and Tuning
Browser Based Performance Testing and TuningBrowser Based Performance Testing and Tuning
Browser Based Performance Testing and Tuning
 
Laravel Load Testing: Strategies and Tools
Laravel Load Testing: Strategies and ToolsLaravel Load Testing: Strategies and Tools
Laravel Load Testing: Strategies and Tools
 
Load testing with Visual Studio and Azure - Andrew Siemer
Load testing with Visual Studio and Azure - Andrew SiemerLoad testing with Visual Studio and Azure - Andrew Siemer
Load testing with Visual Studio and Azure - Andrew Siemer
 
JMeter
JMeterJMeter
JMeter
 
JMETER-SKILLWISE
JMETER-SKILLWISEJMETER-SKILLWISE
JMETER-SKILLWISE
 

Recently uploaded

Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Wask
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
David Brossard
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
saastr
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Jeffrey Haguewood
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 

Recently uploaded (20)

Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 

Load Impact

  • 1.
  • 2. Outline • What is load impact? • The main Components of Load Impact. o Load testing tool. o Page analyzer. • Why Load Test? • What is a test configuration? • How to create test configuration? • What is Scheduled tests? • How to schedule tests? • Using page analyzer. • What is user scenarios? • How to create your own scenarios? • How to create user scenarios? o Lua Tutorial. o Load impact with scripting? o HTTP status codes.
  • 3. What is load impact? • Load Impact is a cloud-based service for load testing and website optimization. It generates traffic load by simulating users. Load Impact is a so-called freemium service.
  • 4. The main Components of Load Impact • Load Impact consists of two main parts: 1. Load testing tool. 2. Page analyzer.
  • 5. 1. Load testing tool • It generates simulated user traffic to a website. Users can simulate virtual users who are trying to load the web pages at the same time. • Results are displayed in real time throughout the test process. • There are three different types of load test: 1. Fixed - Test with static load level throughout the test. 2. Ramp-up - Test that starts at a low level and increases stepwise until it reaches a maximum predetermined level. 3. Timeout - Ramp-up tests that increase the load level until the server becomes too slow, or when the maximum load level is reached.
  • 6. 2. Page analyzer • It loads a web page the same way a web browser would. • It shows the user what objects were loaded, in what order, and how long each object took to load. • It also gives the user information about return codes, compression ratio, etc.
  • 7. Why Load Test? • Having a fast website is a key to commercial success on the Internet. • A slow website will increase your bounce rate, reduce your rank in search engines & reduce conversions rates. • In studies published in says that the average visitor expects a web page to load in no more than two seconds. • In 2010, Google has included site speed as part of its search ranking algorithm.
  • 8. What is a test configuration? • A test configuration describes the load test you want to run – how many simulated users the test should load your site with, and what those users should do on your site (what pages they should load on the site).
  • 9. How to create test configuration? 1 2 1- choose the “test configuration” section, then click on “Create test configuration”. 2- Type a name for the test, then enter the target URL
  • 10. How to create test configuration? (CONT>>) 3 This section will allow you to specify what load levels the test will use, and how quickly to ramp up or down to/from those load levels.
  • 11. How to create test configuration? (CONT>>) 3 What are VU and SBU users? • A Virtual User will only use a single network connection when loading resources from a target host. Resources can be loaded from multiple hosts in the same test, however, that will then result in one connection per target host, per VU. • A Simulated Browser User (SBU) can use multiple concurrent network connections when loading resources from a single target host. This results in faster page loads, but also a lot more stress on the target server that has to serve four connections at once instead of just one.
  • 12. How to create test configuration? (CONT>>) 4 4 – Add extra IP address! But why? Let’s take this example “If you are running a 800 SBU test with user scenarios distributed evenly across a total of 5 loadzones (i.e. 800/5 = 160 SBUs per loadzone), you will have 1 (IP addresses assigned for 160 SBUs per loadzone) x 5 (user scenarios/loadzones) = 5 IP addresses assigned to your load test”.
  • 13. How to create test configuration? (CONT>>) 5 5 – Finally, click on “Create test configuration and start test” to start testing. Or, you could click on, “Create test configuration” to save the configuration for later use.
  • 14. What is Scheduled tests? Scheduling allows you to run a load test at some point in the future, or to run a load test regularly at certain intervals.
  • 15. How to schedule tests? 1 1- choose the “Scheduled tests” section, then click on “Add new scheduled test”.
  • 16. How to schedule tests?(CONT>>) 2 “Make sure you have created test configuration” before you start scheduling. 2- choose the test configuration. 3- Type the schedule data. 4- Type the schedule time. 5- choose the reputation time (Daily, Weakly, Monthly). 6 – Schedule it. 3 4 5 6
  • 17. Using page analyzer • To Access the page analyzer section go to: https://loadimpact.com/page-analyzer 1- Type the target URL. 2- choose the browser to emulate during analysis. 3- click on analyze. 1 2 3
  • 18. Case Study: ksu.edu.sa The load times are represented as colored bars which is divided into several components. They are: - Time in queue (grey). - DNS lookup time (orange). - Connection time (yellow). - Time to first byte (green). - Download time (blue).
  • 20. What is user scenarios? A user scenario is a sequence of HTTP transactions that emulates a certain type of user on your site. You can have several user scenarios in a single load test, emulating several different types of users.
  • 21. What is Lua? Lua is a lightweight multi-paradigm programming language designed as a scripting language. Why Lua? • Lua is cross-platform. • It’s simple, elegant and easy to learn. • It’s also light-weight and very suitable for resource-intensive applications such as load testing.
  • 22. A Quick tutorial: Introduction to let’s
  • 23. Types in Lua There are 8 types in Lua: 1- Number : Numeric value represented in double. 2- String: A sequence of arbitrary characters. 3- Boolean : "true" and "false“. 4- function : First-class object in Lua. 5- Table : Heterogeneous[1] hash table. 6- Thread : C data structures defined by C users. 7 – Userdata : Lua coroutine, a cooperative threading. 8- Nil : Nothing. [1] : Heterogeneous composed of parts of different kinds.
  • 24. Functions in Lua function foo(a, b, c) local sum = a + b return sum, c --A function can return multi values. End var1, var2 = foo(1, '123', ‘KSU') --Parallel assignment print(var1, var2) output: 124 KSU
  • 25. Tables in Lua To create Table: > t = {} -- construct an empty table and assign it to variable "t" > print(t) Output: table: 0035AE18 Tables as arrays: > t = { 1,1,2,3,5,8,13 } > print( t[1] ) Output: 1 > print( t[0] ) Output: nil > print( t[4] ) Output: 3 What about this: > = # t -- Output: 7 guess what?To find the size of the table
  • 26.
  • 27. How to create your own scenarios? Scenario name Target URL Generate the scenario automatically Validate script documentation Editor Validation results
  • 28. How to create your own scenarios? Examples: 1- load test a single recourse http.request_batch({ {"GET", http://loadimpact.com/"} }) 2- POST requests http.request_batch({ {"POST", "http://test.loadimpact.com/login.php" , data="login=test_user&password=123"} }) 3- Load-test multiple resources http.request_batch({ {“GET”, “http://test.loadimpact.com/news.php”} }) http.request_batch({ {“GET”, “http://test.loadimpact.com/contacts.php”} })
  • 29. How to create your own scenarios?(CONT>>) Examples: 4- Random delays between requests http.request_batch({ {"GET", "http://test.loadimpact.com/news.php"}, }) client.sleep( math.random(1, 15) --Sleeps between 1 - 15 seconds before continuing ) http.request_batch({ {"GET", "http://test.loadimpact.com/news.php"}, }) 5- Read HTTP headers from a response local response = http.request_batch({ {"GET", "http://google.com"}, }) log.info( "google.com uses `" .. tostring(response[1].headers["Server"][1]) .. "' as a server software" )
  • 30. How to create your own scenarios?(CONT>>) Examples: 6- Setting headers for a request Sometimes you need to set custom HTTP headers for your request. One reason is to see if your server handles client-side caching. local response = http.request_batch({ {"GET", "http://test.loadimpact.com/", headers = { ["If-Modified-Since"] = "Tue, 18 Jun 2013 03:30:00 GMT"; } } }) if response[1].status_code==304 then log.info("not modified") elseif response[1].status_code==200 then log.info("modified") else log.error("unexpected code" .. tostring(response[1].status_code)) end
  • 31. Some HTTP status codes: Categories: 1xx Informational , 2xx Success , 3xx Redirection , 4xx Client Error , 5xx Server Error. Status code Description 304 Not Modified Indicates that the resource has not been modified since the version specified by the request headers If-Modified-Since or If-Match. 400 Bad Request The request cannot be fulfilled due to bad syntax. 401 Unauthorized Similar to 403 Forbidden, but specifically for use when authentication is required and has failed or has not yet been provided. 403 Forbidden The request was a valid request, but the server is refusing to respond to it. 404 Not Found The requested resource could not be found but may be available again in the future 500 Internal Server Error A generic error message, given when no more specific message is suitable. 503 Service Unavailable The server is currently unavailable (because it is overloaded or down for maintenance).
  • 32.
  • 33. For more information Visit the knowledge base http://support.loadimpact.com/
  • 34. References • https://loadimpact.com/learning-center/ • http://support.loadimpact.com/knowledgebase/articles/ • http://en.wikipedia.org/wiki/List_of_HTTP_status_codes • http://www.lua.org/pil/contents.html
  • 35. This file is licensed under a Creative Commons Attribution