Kentico CMS Performance Optimization Implementation at Newsmax - Ayush Chaturvedi.

Slides:



Advertisements
Similar presentations
Case Study: Photo.net March 20, What is photo.net? An online learning community for amateur and professional photographers 90,000 registered users.
Advertisements

XIr2 Recommended Performance Tuning Andy Erthal BI Practice Manager.
Module 13: Performance Tuning. Overview Performance tuning methodologies Instance level Database level Application level Overview of tools and techniques.
Web Site Performance What makes web sites slow? Back end Front end Tools for measuring performance Firebug / YSlow Visual Studio Test Edition W3.org html.
SSRS 2008 Architecture Improvements Scale-out SSRS 2008 Report Engine Scalability Improvements.
Exadata Distinctives Brown Bag New features for tuning Oracle database applications.
Client side performance in Web based Banking applications Divakar Prabhu Infosys Limited (NASDAQ: INFY)
Maxim Zhvirblya EPAM Systems © 2013 Or make MSSQL breathe easily RBS and Blob Cache in SharePoint 2013.
Turners SharePoint Web Site How we did it. 2 Page Anatomy Custom Search Web Part Custom Search Web Part Data Form Web Parts Content Query Web Part HTML.
Database Optimization & Maintenance Tim Richard ECM Training Conference#dbwestECM Agenda SQL Configuration OnBase DB Planning Backups Integrity.
Brian Browning | Senior Director of Client Services.
Analysis and Performance Information Systems 337 Prof. Harry Plantinga.
©Company confidential 1 Performance Testing for TM & D – An Overview.
Yes, yes it does! 1.Guest Clustering is supported with SQL Server when running a guest operating system of Windows Server 2008 SP2 or newer.
Microsoft ® Application Virtualization 4.5 Infrastructure Planning and Design Series.
Presented by Jacob Wilson SharePoint Practice Lead Bross Group 1.
Capacity Planning in SharePoint Capacity Planning Process of evaluating a technology … Deciding … Hardware … Variety of Ways Different Services.
Enterprise Reporting with Reporting Services SQL Server 2005 Donald Farmer Group Program Manager Microsoft Corporation.
Russ Houberg Senior Technical Architect, MCM KnowledgeLake, Inc.
Performance Mistakes In Kentico 7/18/2012Miro Remias, Solution Architect.
Convergence /20/2017 © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
6/1/2001 Supplementing Aleph Reports Using The Crystal Reports Web Component Server Presented by Bob Gerrity Head.
OM. Brad Gall Senior Consultant
itcamp12 # Premium conference on Microsoft technologies Serving 10 million requests per day How to solve the architecture challenges of a high.
DNN Performance & Scalability Planning, Evaluating & Improving : Part 2.
Drupal Training Syllabus Chaitanya Lakshmi
Benjamin Lavalley, Sr. Product Marketing Manager Kaseya 2 Upgrade Review.
Real World Examples – Part II 7/26/2013Miro Remias, Sr. Solution Architect.
1 © 2006 SolidWorks Corp. Confidential. Clustering  SQL can be used in “Cluster Pack” –A pack is a group of servers that operate together and share partitioned.
Connect Learn Share Performance Optimization for Microsoft Dynamics CRM Presented by: Walter Grow Austin Jones.
Building Highly Scalable Websites Karol Jarkovsky Sr. Solution Architect
Sofia, Bulgaria | 9-10 October SQL Server 2005 High Availability for developers Vladimir Tchalkov Crossroad Ltd. Vladimir Tchalkov Crossroad Ltd.
1 Robert Wijnbelt Health Check your Database A Performance Tuning Methodology.
Copyright © 2006 Pilothouse Consulting Inc. All rights reserved. Overview Scale out architecture Servers, services, and topology in Central Administration.
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.
Chokchai Junchey Microsoft Product Specialist Certified Technical Training Center.
BW Know-How Call : Performance Tuning dial-in phone numbers! U.S. Toll-free: (877) International: (612) Passcode: “BW”
Module 13 Implementing Business Continuity. Module Overview Protecting and Recovering Content Working with Backup and Restore for Disaster Recovery Implementing.
What’s new in Kentico CMS 5.0 Michal Neuwirth Product Manager Kentico Software.
Partners’ Webinar 01/31/2013 Karol Jarkovsky Solution Architect Upgrading Kentico.
6/1/2001 Supplementing Aleph Reports Using The Crystal Reports Web Component Server Presented by Bob Gerrity Head.
PERFORMANCE ENHANCEMENT IN ASP.NET By Hassan Tariq Session #1.
© 2009 IBM Corporation Maximize Cost Savings While Improving Visibility Into Lines of Business Wendy Tam, CDC Product Marketing Manager
SQL School is strongly committed to provide COMPLETE PRACTICAL REALTIME Trainings on SQL Server Technologies – Dev, SQL DBA, MSBI (SSIS, SSAS, SSRS) and.
Troubleshooting SQL Server Performance: Tips &Tools Amit Khandelwal.
Intro to Datazen.
1 | SharePoint Saturday Calgary – 31 MAY 2014 About Me.
Random Logic l Forum.NET l ASP.NET performance Forum.NET 5 th Meeting ● March 2006 By Yaniv Sharon.
Building Cloud Solutions Presenter Name Position or role Microsoft Azure.
Building web applications with the Windows Azure Platform Ido Flatow | Senior Architect | Sela | This session.
Get the Most out of SQL Server Standard Edition Or How to be a SQL Miser.
Configuring SQL Server for a successful SharePoint Server Deployment Haaron Gonzalez Solution Architect & Consultant Microsoft MVP SharePoint Server
This document is provided for informational purposes only and Microsoft makes no warranties, either express or implied, in this document. Information.
Hitting the SQL Server “Go Faster” Button Rob Douglas #509 | Brisbane 2016.
SQL Database Management
Top 10 Entity Framework Features Every Developer Should Know
Understanding and Improving Server Performance
SharePoint 2010 Performance and Capacity Planning Best Practices
Get the Most out of SQL Server Standard Edition
Table General Guidelines for Better System Performance
SharePoint Solutions Architect, Protiviti
Hitting the SQL Server “Go Faster” Button
Maximum Availability Architecture Enterprise Technology Centre.
Change Deployment in ServiceN w
Test Upgrade Name Title Company 9/18/2018 Microsoft SharePoint
Introduction of Week 3 Assignment Discussion
Blazing-Fast Performance:
Hitting the SQL Server “Go Faster” Button
Table General Guidelines for Better System Performance
Performance And Scalability In Oracle9i And SQL Server 2000
Presentation transcript:

Kentico CMS Performance Optimization Implementation at Newsmax - Ayush Chaturvedi

Agenda The Newsmax Project – Architecture, load and performance Optimizations – Queries – Code – Caching – Database – Application Server – Front End Optimizations

Newsmax Project Site layout – One instance two sites – Centered around articles – Customizations & features like slideshows – Notice urls – High load, High performance and High availability Project Layout – Dev –Dev Test– Stage - Production – Load balanced on two servers – TFS team and build automation is used.

Newsmax Project Contd.. Avg. visits a month ~ 20,000,000

Newsmax Project Contd.. Best case on a single day ~ 3,000,000

Newsmax Project contd.. Our experience with Kentico – We have grown as Kentico has over the last year. – Seen Database CPU from 99% to 3-4%. – From versions to versions till 5.5 – 5.5 is the real enterprise class CMS

Where are we? The Newsmax Project – Architecture, load and performance Optimizations – Queries – Code – Caching – Database – Application Server – Front End Optimizations

Optimizations Kentico CMS off the shelf + efforts at Newsmax – Off the shelf: caching, indexing, queries – Newsmax: more caching and cache management, more indexing and stats and query tuning. – UPGRADE TO 5.5 (V.V. imp.) – Understand Kentico CMS is a normal ASP.NET web project. Many

Optimization - Queries Understanding what queries run on a page request – User request  query to node alias  query to documentpath  query to documentaliases – Initially aliases then document url path – One page to serve all articles. /{section}/{keywords}/{year}/{month}/{date}/id/{id} Understanding the three tables that create a document – Cms_tree, cms_document, doctype tables – Difference between select and selectdocument – Define select columns, avoid selecting ntext {nvarchar(max)}columns for listing controls – Extreme case (not recommended unless justified) modify view_doctype_joined

example SELECT ##TOPN## ##columns## FROM dbo.View_CMS_Tree_Joined ct INNER JOIN dbo.Newsmax_Article na ON ct.DocumentForeignKeyValue = na.ArticleID AND ct.NodeClassID = 2046 INNER JOIN dbo.customtable_SiteSectionArticles cssa ON (na.NMID = cssa.ArticleID AND ct.Published = 1 AND ct.NodeParentID AND cssa.SiteSectionID INNER JOIN dbo.customtable_SiteSections css on cssa.SiteSectionID = css.NMID ORDER BY CASE##ORDERBY## SELECT ##TOPN## ##COLUMNS## FROM View_Newsmax_Article_Joined inner join custom tables WHERE (##WHERE##) ORDER BY ##ORDERBY## // joining a view of views to another table. !!Again not recommended unless you are an expert and willing to support.

Optimization - Code Scheduled tasks, use wisely Portal development mode reduces custom code. Output filters. Use only if absolutely needed. Store images on both file system and db Ondatabound Processing. Avoid queries to databases, use cached context variables and macros. Monitor eventlog and clean errors. Exceptions cause performance problems. E.g. missing image in a CSS.

Where are we? The Newsmax Project – Architecture, load and performance Optimizations – Queries – Code – Caching – Database – Application Server – Front End Optimizations

Optimization - Caching No cache no performance. Levels of caching – Data cache, partial cache (asp.net output cache), full page cache, IIS output cache – Implementation of keys and cache expiry mechanism is critical E.g Newsmax custom dummy key based cache dependency newsmax|custom|sectionid|16 – Cache expiry handling in 5.5. Refer Martin’s blog post. – At Newsmax we cache the latest 6000 articles Have images cached

Optimization of Database SQL 2008 (advanced level for DBAs) DB Architecture – Cluster, failover configuration. – RAID Drive mounts and locations. – TempDB. – Backup Scheme.

Optimization of Database – Contd. Query tuning – Specially for custom tables – Data tuning advisor, index usage stats – Index_seek vs index_scans – Too much indexing and stats can cause wrong compilation plans – Keep an eye on compiled plans and single use ad hoc queries Optimize for ad-hoc workload – Forced parameterization – Case of Order by 1 Understanding AWE and PAE switches – Depending on your DB size. – Min and Max memory setting – MaxDOP setting

Optimization – Application server Load balanced Multiple core (i7), SSD drives, 32GB RAM, Windows 2008 server. IIS recycling set to a particular time. Redirects done in IIS rather than in the CMS

Optimizations – Front End Often neglected Image compression CSS and JavaScript mimification CSS and JavaScript compression Use of CSS sprites JavaScripts to the bottom of the page. External if possible. Using client browser cache (E-tags) Minimize HTTP requests (e.g. libraries for front end validation)

Optimizations- Even more For superior caching consider 3 rd party tools like Memcached Use Content Delivery Networks For extremely large datasets 100s of millions consider partitioning DB tables. Future DB cluster support in Kentico.

About Myself Working as Systems Architect at Newsmax Media. Advertise with us we get a lot of traffic!! Worked at fortune 500 companies like H&R Block with training at Microsoft. Background in CMS and ERP systems. Provide offshore troubleshooting and development services. Interested in solving problems and discussing solutions. AYUSH CHATURVEDI Please collect business cards !! Feel free to contact. Credits: Thanks Karol, Neil and Martin for their inputs.

Questions??