Optimizing Your Website’s Performance A Session by Mitchel Sellers.

Slides:



Advertisements
Similar presentations
Mitchel Sellers, CEO IowaComputerGurus Inc.. Active in the DotNetNuke eco system for about 6 years Author of Professional DotNetNuke Module Programming.
Advertisements

SharePoint Forms All you ever wanted to know about forms but were afraid to ask.
Computer Basics Hit List of Items to Talk About ● What and when to use left, right, middle, double and triple click? What and when to use left, right,
Anderson Quach (Microsoft) Tony Gentilcore (Google)
SQL Server Disaster Recovery Chris Shaw Sr. SQL Server DBA, Xtivia Inc.
Mitchel Sellers, CEO IowaComputerGurus Inc..  Active in the DotNetNuke eco system for about 3 years  Author of Professional DotNetNuke Module Programming.
Communication Technology Peer Group BLACKBERRY 10: ASKED AND ANSWERED.
Creating WordPress Websites. Creating a site on your computer Local server Local WordPress installation Setting Up Dreamweaver.
©Company confidential 1 Performance Testing for TM & D – An Overview.
By: Gerardo L. Mazzola Web Application Development Life Cycle “A driven force moving businesses into the future.”
Live the dream… Technologies of e-Commerce 3 Unit 8 – e-Commerce LO1 : Know the technologies required for e-commerce.
OS Fall ’ 02 Performance Evaluation Operating Systems Fall 2002.
LEARN THE QUICK AND EASY WAY! VISUAL QUICKSTART GUIDE HTML and CSS 8th Edition Chapter 21: Publishing Your Pages on the Web.
LoadTest. What is a LoadTest? By running multiple copies of the eValid browser simultaneously, eValid can impose heavy work loads on a WebServer. You.
Presented By: Andy Balderson – Product Manager Ethernet, Internet, Wireless or Fiber - Distribute your HMI Application Over IP Networks Farther ! The Web.
And Mobile Web Browsers
For more notes and topics visit:
OM. Brad Gall Senior Consultant
 Internet vs WWW  Pages vs Sites  How the Internet Works  Getting a Web Presence.
Introduction to HP LoadRunner Getting Familiar with LoadRunner >>>>>>>>>>>>>>>>>>>>>>
Web Based Applications
DNN Performance & Scalability Planning, Evaluating & Improving : Part 2.
Troubleshooting SQL Server Enterprise Geodatabase Performance Issues
Dynamic Web Pages (Flash, JavaScript)
Software Licensing, Made Simple SELECT Server XM Edition
Connect Learn Share Performance Optimization for Microsoft Dynamics CRM Presented by: Walter Grow Austin Jones.
Build a Free Website1 Build A Website For Free 2 ND Edition By Mark Bell.
User Side Factors. Download Speed Download speed from a user’s side, is how long it takes a webpage to load, once requested. The measurement for time.
DNN Performance & Scalability Planning, Evaluating & Improving : Part 1.
Web Browsers And Mobile Web Browsers. Guiding Questions What is a mobile Web browser? Why do Web pages look differently on different Web browsers? What.
Global NetWatch Copyright © 2003 Global NetWatch, Inc. Factors Affecting Web Performance Getting Maximum Performance Out Of Your Web Server.
Web/App Performance How to keep you out of the News
Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint.
The New Enterprise Manager: End to End Performance Management of Oracle Solutions Julie Wong Principal Product Manager Arsalan Farooq Senior Development.
© 2008 Quest Software, Inc. ALL RIGHTS RESERVED. Perfmon and Profiler 101.
“Load Testing Early and Often” By Donald Doane Presentation to the Rockville MDCFUG.
Developer TECH REFRESH 15 Junho 2015 #pttechrefres h Understand your end-users and your app with Application Insights.
Implementing ISA Server Caching
VMware Backup Integrity Eric Siebert vExpert, Author, Blogger Blog:
Intro to Datazen.
Restricted © Siemens AG All rights reserved A Developer’s Insights Into Performance Optimizations for Mobile Web Apps CT DC AA EM LP2 | June 2015.
WHAT IS E-COMMERCE? E-COMMERCE is a online service that helps the seller/buyer complete their transaction through a secure server. Throughout the past.
The Internet. Important Terms Network Network Internet Internet WWW (World Wide Web) WWW (World Wide Web) Web page Web page Web site Web site Browser.
G046 Lecture 04 Task C Briefing Notes Mr C Johnston ICT Teacher
Page 1 Monitoring, Optimization, and Troubleshooting Lecture 10 Hassan Shuja 11/30/2004.
Chapter 3 : Designing a Consolidation Strategy MCITP Administrator: Microsoft SQL Server 2005 Database Server Infrastructure Design Study Guide (70-443)
Capacity Planning in a Virtual Environment Chris Chesley, Sr. Systems Engineer
CREATE YOUR OWN WEBSITE IN A SNAP! Shanon Sims Travis High School W Weebly W Website W Workable.
Diagnosing Problems DAD5 © Copyright 2011 Mitchel Sellers – May Not Be Reused without Permission.
WHAT'S THE DIFFERENCE BETWEEN A WEB APPLICATION STREAMING NETWORK AND A CDN? INSTART LOGIC.
BY Supergeeks.biz. As more and more people rely on the Internet to buy goods and services, to search for businesses, to locate businesses, to compare.
SQL Advanced Monitoring Using DMV, Extended Events and Service Broker Javier Villegas – DBA | MCP | MCTS.
Week-10 (Lecture-1) Web Building STEPS OF BUILDING: create web pages using HTML add a consistent style using CSS add computer code using JavaScript add.
Performance Optimization in Dynamics AX Chris Haley, Microsoft.
Build Cross-Platform Mobile Apps Using Visual Studio A Telerik webinar by Jeffrey T. Fritz March 27, 2014 AND.
111 State Management Beginning ASP.NET in C# and VB Chapter 4 Pages
WEB TESTING
Digital Engineering & Mobile Solutions Performance Engineering Transformation Date: 03/11/2015 ©2013 Walgreen Co. All rights reserved.
Software Architecture in Practice
2016 Citrix presentation.
Web Caching? Web Caching:.
Dynamic Web Pages (Flash, JavaScript)
Migration Strategies – Business Desktop Deployment (BDD) Overview
Episerver Performance A-Z
Should I Transition to .NET Core? Will it hurt?
Moodle Scalability What is Scalability?
Lecture 34: Testing II April 24, 2017 Selenium testing script 7/7/2019
Running C# in the browser
Yale Digital Conference 2019
What’s Happening with my App, Application Insights?
Presentation transcript:

Optimizing Your Website’s Performance A Session by Mitchel Sellers

About Your Speaker  Mitchel Sellers  Microsoft C# MVP, DotNetNuke MVP  CEO of IowaComputerGurus, Inc.  Contact Info   Blog: 

Agenda  Disclaimer/Disclosure  Performance Diagnostic Principles  Setting the goal  Methods of Handling Performance Concerns  Creating a Performance Test Plan  Good and Bad Plan Examples  Test Environment/Where & How  Analyzing Results  How the Web Is Different  Tools & Processes

Disclaimer/Disclosure  The tools discussed in this presentation are tools that I have found helpful in my experience.  I am not being compensated for recommending/showing the tools I am showing today  I am showing tools in this talk, as they are the best & most consistent way to identify & track performance issues

Methods of Handling Performance Concerns  Proactive Performance Management  Best overall approach  Test/Retest on a regular basis throughout the process  Ensure that you take performance into consideration FIRST!  Reactive Performance Management  Less effective and can lead to chasing non-bugs  Doesn’t provide a mechanism to properly compare/validate  Emergencies are never the best way to resolve things  Best Organizational Decision?  Move to proactive after successes with reactive

Setting the Goal  Get to a consistent design strategy FIRST  What are you optimizing for?  Perceived Performance?  “It feels fast”  Score on a tool?  Yay! We got an 87 on Google Page Speed  Raw request throughput?  Specific areas or functions?  Mobile vs. Desktop?

Creating a Performance Test Plan  Develop a consistent plan for analysis  Based on user interactions not the “Developers Use”  Based on specific scenarios  Must be realistic  Ensure that your test duration is long enough, but not too long  Find the sweet spot to avoid clutter, but retain realistic testing  Watch for warm vs. cold worker processes  Can skew results  Ensure that the test itself is realistic  Don’t just test.aspx pages and neglect the other resources  Ensure that the process is REPEATABLE!

Creating a Performance Test Plan: Continued  Isolated Testing Sets  Key performance areas  Public Pages – Want fast performance  Overly heavy areas  E-Commerce Checkout – Heavy, but critical  Broad Spectrum Testing Sets  Simulate a full user interaction through your app  Helps for longer running testing  Many tools can offer a hybrid of test sets to help being realistic

Additional Test Plan Considerations If Diagnosing a specific issue  Is the issue user based?  Test with a specific user  BUT, still test other users  Is the issue possibly load related?  Test with similar load.  Sampling production is possible  Is the issue browser based?  Is the issue 100% repeatable?

Good Examples of Test Scenarios  User Reports a Problem with Viewing User Profiles  Create a test plan that isolates that functionality as it is known as a specific issue  Follow the exact flow though that the user does to bring up the profiles  Show listing of users  Select User to View  Use back or return buttons to navigate

Another Good Example  User Reports a Problem with Reporting for Specific Inputs  Create a test plan that runs the report multiple times with similar inputs  Also run with known good inputs  This allows for comparison to the good and bad of the same report

Bad Example  Users Report Random Performance Issues on Site  Randomly send a load testing tool to penetrate the application  Pushing more load than normal  Resolution?  Get more information, sit with the user if you have to

Managing a Test Environment?  Where do you test?  Can the issue be recreated on a dev environment?  Yes  Great, test on dev!  No  Further considerations need to be taken  Can you test on production?  Yes, but ideally you want to do what you can to isolate items to better test, as there is overhead  Some ASP.NET performance items can be identified in production, however, changing things to test might not be feasible

Test Environment Considerations  Make sure it is similar to the real environment  Similar CPU + RAM  Similar Disk IO processes  Similar Configurations of Servers  Similar OS Versions & Editions  If changing load or specs be aware of items approaching limits  Example: Using a dual core SQL Server box in dev and a quad core in production

Risks of Testing In Production  Load Testing  DDoS flagging of your site by hosting  Network latency/congestion  System offline  Performance Sampling  Overall system slowness

Analyzing Results  Use the data, NOT your assumptions  Be sure to look at ALL of the results!  Do they make sense?  Don’t jump to conclusions  Number 1 mistake  Make incremental changes, then re-test  Remember Middle School Science Class!  However, make sure to test all impacted areas!

How the Web Is Different  Browsers  Each have their own JS Rendering Engines  Each have their own limits on simultaneous domain requests (4-10)  HTML first then everything else  Images & Assets can bloat pages  Can overwhelm server bandwidth & restrict other stuff  External calls? Server Side?

Check the Simple Stuff First  Large images, long running JS, large ViewState  Site Load?  How to do this?  Fiddler  Google PageSpeed  Google Analytics

Tools to the Rescue: Fiddler  - Free download  Investigate requests & responses  Examples  kcci.com > 200 HTTP Requests kcci.com  CNN.com > 180 HTTP Requests  Google.com = 18 HTTP Requests  Microsoft.com = 65 HTTP Requests  DMACC.edu = 99 HTTP Requests  My.NET Sites < 15 HTTP Requests *  Use this to see where its slow!

Tools to the Rescue: Google Page Speed 

Tools to the Rescue: Google Analytics

Tools to the Rescue: Loader.io

Tools To The Rescue: LoadStorm

Digging In: Moving Past Basics  Start to look at Database & Web Server Statistics  Windows Stats &/or Perf Mon  NewRelic  ANTS Profiler  SQL Monitor  Etc

Windows Stuff?  CPU – Are you CPU Bound?  Memory – Is there ram available?  Disk Space – Do you have room?  Network Bandwidth – Is there extra?

New Relic

New Relic #2

Questions?  Go!