Introducing
Your new presentation assistant.
Refine, enhance, and tailor your content, source relevant images, and edit visuals quicker than ever before.
Trending searches
Pitfalls
Nice to be the fastest, but is your web application framework a real bottleneck?
but there is more
WWW: World Wide Wait
Stijn Van den Enden
@stieno
Guy Veraghtert
guy.veraghtert
bout us
Ward Vijfeijken
@wardvijf
49.932 $
59.918 $
9.986 $
6.658 $
103.193 $
myfaces 2.1.4-SNAPSHOT
522
days ... and counting
Longest time without a government in peacetime
Criteria
Based on work from Matt Raible
http://raibledesigns.com/
Developer Productivity
Developer Perception
Learning Curve
Project Health
Developer Availability
Job Trends
Templating
Components
Ajax
Plugins or Add-Ons
Scalability
Testing
i18n and l10n
Validation
Multi-language Support (Groovy / Scala)
Quality of Documentation/Tutorials
Books Published
REST Support (client and server)
Mobile / iPhone Support
Degree of Risk
Users
10000
5
Think Time
& Performance
Matters
Estimate Infrastructure Needs and Cost
QoS that can be guaranteed
ability to handle work with the same infrastructure
Testing
Scalability Testing: performance testing that is focused on understanding how an application scales as it is deployed on larger systems and/or more systems or as more load is applied to it
Response Time or Latency: the time a client has to wait from sending the request to the moment the last byte was received
Think time: The time taken by the user to think between submitting two concurrent requests to the system.
Throughput: number of requests / seconds
The app
Overview - detail screen
Statistics
>16
300,774,676
>700
GB of data
Samples
hours of test runs
2
Navigation
Common patterns
Overview, 40ms sleep
Autocomplete
Ajax validation
3
4
First order indicator of optimal load
avg arrival rate
avg wait time in system
avg # of items in system
Queueing theory
# concurrent users = throughput * (response time + thinktime)
Partial DOM updates
What about browser rendering?
JMeter does not take browser rendering into account
measure
We need a way to
this
by Jan Odvarko
http://www.janodvarko.cz/har/viewer
http://code.google.com/p/harviewer
Online HAR Viewer
Analyzing
HarLib
Problems
Distribute your tests on multiple machines so that you can run your tests in parallel
with real browser generated load
Would you recommend using Selenium Grid for performance/Load testing?
"Selenium Grid is not designed for performance and load testing, but very efficient web acceptance/functional testing. The main reason for this is that conducting performance/load testing with real browser is a pretty bad idea as it is hard/expensive to scale the load and the actual load is very inconsistent."
HAR: Http Archive
Selenium GRID faq
High cost of resources
Load is inconsistent
Specification
1 browser process consumes a lot of cpu and memory
Use 1 real browser to measure the rendering time
impact of the browser on the load machine(s) has high variability
Open format that can be used by HTTP monitoring tools to export collected data
Generate load with light-weight
Format is based on JSON
Tools support
Online load testing / website monitoring
Infrastructure
Firebug extension (Firefox)
NetExport Firebug extension
Uses real browsers
www.browsermob.com
JavaScript WebDriver Support
Google Chrome Developer tools
HttpWatch (IE and Firefox)
DebugBar (IE)
...
Automation
Selenium WebDriver
Automates browsers
Can be written in Java
Start with Firebug and NetExport extensions
www.seleniumhq.org
Cross-check JMeter - HAR
+- same result
less samples
Difference request time - end-user load time
stable difference