2. What I will talk
• Why we should care about performance?
• What we should use?
• How to add performance to your workflow?
3. 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
4. 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
5. Performance profiling areas
• Client side
– Request
– Downloading
– Rendering
• Server side
– Response
– Algorithm
– Memory
– SQL Server
6. Requirements for performance
• What are we going to test? (goals)
• Setup requirements:
– TTFB andor TTLB
– RPS + number of users
– Frequency of references to external resources
(database, other services, etc.)
– etc.
7. 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
8. Introduce to load testing
• Performance testing
• Capacity testing
• Testing to stress the system or find its limits
• Load testing
• etc
9. Testing plan
• Create a test scenario
• Setup the test
• Performing the test
• Analysis of results
13. Profiling
• VS Performance Analyzer (MS)
• dotTRACE (JetBrains)
• ANTS Performance Profiler (Redgate)
• SQL Server Profiler
• etc.
14. How to add performance to your
workflow?
• Reasons (e.g. POQA is unsatisfied)
• We have available time and near no a release
• Prepare for battle
Process:
Searching for dips ->
Fixing step by step