Sponsors Gold Performance Testing and SharePoint Silver Bronze Jeremy Hancock http://blog.ozippy.com @ozippy “Time and Energy Matters” Canberra 2011 Daily time saved going from 5s to 2s – 10 page loads per day/person Hours per day 45.00 40.00 35.00 30.00 25.00 20.00 15.00 10.00 5.00 0.00 Hours per day 10 Users 100 Users 1000 Users 5000 Users Canberra 2011 Some real life experiences • Inconsistency – Between 5 and 50 seconds to load a page • Reliability – Memory leaks causing app pool recycles – Load balancer failures under stress • Latency – 30+ seconds to load a page at remote locations • Poor perception – Page ‘blocking’ causing perceived poor performance Canberra 2011 What’ the difference? Performance Testing and optimisation Load/Stress Testing Canberra 2011 My approach What • What should I focus on? Optimise • Get those things working to where I’m satisfied Load test • Make sure that it isn’t going to break under stress Canberra 2011 Performance Testing and Optimisation DEMO Canberra 2011 What did we just look at? • Tools – – – – Yslow Google Page Speed Fiddler Developer dashboard • Asynchronous calls • Caching – Page Output – Blob – Custom Canberra 2011 Load/Stress Testing • What are we trying to test? – Will the infrastructure ‘break’ under load? – What is the maximum sustained RPS within the target response time? Canberra 2011 Requests Per Second (RPS) • • • • • A = Total # of users (1000) B = Estimated % concurrent users (50%) C = Average # of requests per day (20 * 10 = 200) D = Peak ratio (x2) E = Hours in a business day (8) • • • • • Requests per day = A * B * C * D Seconds per day = E * 3600 (seconds per business day) RPS = Requests per day/Seconds per day RPS= (1000 x 50% x200x2)/(8x3600) RPS= 200,000/28,800 = 6.94 http://blogs.technet.com/b/wbaer/archive/2007/07/06/requests-persecond-required-for-sharepoint-products-and-technologies.aspx Canberra 2011 Load Testing DEMO Canberra 2011 Tips • • • • • • Difference between F5 and clicking a link Create warm up scripts Don’t use think time Keep tests discrete Visual Studio does NOT execute JavaScript % of new users Canberra 2011 “Don't lower your expectations to meet your performance. Raise your level of performance to meet your expectations. Expect the best of yourself, and then do what is necessary to make it a reality.” Ralph Marston Respect the Time and Energy of your customers. Don’t forget people that have a high latency link. Make the effort to know what to expect and optimise. Give your users a great perception of performance. QUESTION AND ANSWER Canberra 2011 Related Links http://blog.ozippy.com/ “Would you like to save users 1,000+ hours per year?” Canberra 2011