website performance optimization qa
TRANSCRIPT
Web performance optimization
Dudayev Denis
What I will talk• Why we should care about performance?• What we should use?• How to add performance to your workflow?
Why we should care about performance?
“If it is fast and ugly, they will use it and curse you,if it is slow, they will not use it.”
“Professor Billionaire“Devid Cheriton
Performance evaluation parameters
• Server side– Time of rendering page– Count of requests in second– Amount of data transmitted
• Client side– Page processing on the client– Downloading content time– Awaiting time
Performance profiling areas
• Client side– Request– Downloading– Rendering
• Server side– Response– Algorithm– Memory – SQL Server
Requirements for performance
• What are we going to test? (goals)• Setup requirements:– TTFB and\or TTLB– RPS + number of users– Frequency of references to external resources
(database, other services, etc.)– etc.
Anatomy of a web page
• DNS resolution• TCP connection• Send request• Wait for response• Download response• Parse (DOM, CSSOM)• Execute JS/Apply CSS• Render
Network
Server
Client
Introduce to load testing• Performance testing• Capacity testing• Testing to stress the system or find its limits• Load testing• etc
Testing plan
• Create a test scenario • Setup the test • Performing the test • Analysis of results
Load testing tools
• Free/Open source– JMeter (Apache)– LoadUI (SmartBear)– etc.
• Commercial– LoadRunner (HP)– WebLOAD– etc.
We chosen JMeter
• It has a respect• It free and open source• It has big community• We made the first easy demo project• We have support
JMeter Demo
Profiling
• VS Performance Analyzer (MS)• dotTRACE (JetBrains)• ANTS Performance Profiler (Redgate)• SQL Server Profiler• etc.
How to add performance to your workflow?
• Reasons (e.g. PO\QA is unsatisfied)• We have available time and near no a release• Prepare for battle
Process:Searching for dips ->
Fixing step by step