faster! optimize your cascade server experience, by justin klingman, beacon technologies
DESCRIPTION
In today’s world, we want our online experience to be as fast as possible (who wants to wait?), and our interaction with Cascade Server is no different. In this session, Justin Klingman of Beacon Technologies will cover Cascade Server optimization techniques--including auditing slow sites, index block settings and use, XSLT coding tips, and hardware configuration for optimal performance.TRANSCRIPT
Faster! Optimize Your Cascade Experience
2012 Cascade Server User’s ConferenceJustin Klingman, Manager, Web Software DevelopmentBeacon Technologies, Inc. | beacontechnologies.com
September 17, 2012
@JustinVT99 #csuc12
2012 Cascade Server User’s Conference
2
Mission:◦ AUTOMATE, GROW, and CONNECT Your Business
Services Offered:◦ Web Development, Digital Marketing, Web Hosting
Currently supporting 185 active Web clients
Hannon Hill Development and Hosting Partner◦ > 80 sites in 25 Cascade instances since 2005
Beacon Technologies
09/17/2012
2012 Cascade Server User’s Conference
3
Session Overview
09/17/2012
Objective: Speed up your Cascade experience
Infrastructure Index Blocks: Problems & Solutions Data Definitions Publishing Tips for End Users Used Cascade 7 w/32-bit engine and
legacy (6.x) caching
2012 Cascade Server User’s Conference
4
Minimum CPU is Dual Core; recommend Quad Core with 4GB of RAM
Separate Application and Database◦ Server #1: Cascade software (front-end)◦ Server #2: Database Server (back-end)
Notes:◦ Servers should not be used for other applications◦ If using virtual servers, use 15K RPM SCSI Drives
on separate disk drives and RAID spindles in your SAN Provides greater disk access speed
09/17/2012
Infrastructure | Hardware
2012 Cascade Server User’s Conference
5
Upgrade Cascade! Use latest supported OS and Database
versions 64-bit OS and Java
◦ Much faster with raised memory allocation 74% decrease in page rendering in our testing
◦ 64-bit allows for more memory to be allocated Java Settings
◦ Allocate > 1.5 GB RAM (64-bit only)◦ Investigate Initial RAM, Max RAM, and
MaxPermSize settings
09/17/2012
Infrastructure | Software
2012 Cascade Server User’s Conference
6
Network◦ Use Gigabit connections between all servers◦ Avoid FTP publishing if possible◦ Best publishing methods
Cascade Windows → Windows: Windows File Transfer Cascade Windows → Linux: Samba Cascade Linux → Linux: NFS
Restart Cascade weekly
09/17/2012
Infrastructure | Network / Restart
2012 Cascade Server User’s Conference
7
One of the biggest factors in page rendering & publishing times
Don’t index more than you need◦ Carefully enable Index Block options◦ Deactivate / Delete unused assets
Index Blocks
09/17/2012
2012 Cascade Server User’s Conference
8 09/17/2012
Index Blocks | Top Navigation w/ Dropdown
2012 Cascade Server User’s Conference
9 09/17/2012
Index Blocks | Top Navigation w/ Dropdown
2012 Cascade Server User’s Conference
10
09/17/2012
Index Blocks | Top Navigation w/ Dropdown
Experiment: Top Navigation dropdown menu showing sub-links under each main item◦ GREAT feature for your Web site visitors◦ Requires indexing all site folders, but only 3 levels
deep
2012 Cascade Server User’s Conference
11
09/17/2012
Index Blocks | Top Navigation w/ Dropdown
Optimized index block:
2012 Cascade Server User’s Conference
12
Change one option at a time to show performance impact
Results◦ 1,200 pages, single page rendered(minimal publishing
differences)
09/17/2012
Index Blocks | Top Navigation w/ Dropdown
Block Option Optimized Render
Non-optimized Render
Depth of Index 3
0:10
4 0:18
Max Rendered Assets
0 (unlimited) 200 0:05
Indexed Asset Types
Pages / Blocks Pages / Blocks /Files 0:20
Page XML Do not render page XML inline
Render page XML inline 1:13
Indexed Asset Content
Regular Content /User Metadata
Regular Content /System Metadata / User Metadata
0:11
Other Indexed Info <not selected> Append Calling Page Data 0:11
2012 Cascade Server User’s Conference
13
Optimal Solution: Feed Block◦ Publish XML file of Top Navigation◦ In Cascade, Feed Block reads published XML file
(like external RSS feed)◦ Top navigation is rendered normally, but is faster
since Cascade isn’t processing index block◦ Top Navigation XML is published manually, using
scheduled Publish Set, or Workflow Publish Trigger Format: If page’s “Last Published On” value does not
exist, it has never been published, so hide
09/17/2012
Index Blocks | Top Navigation w/ Dropdown
<xsl:apply-templates select=“system-page[last-published-on]”>
2012 Cascade Server User’s Conference
14
Optimal Solution: Feed Block◦ Advantage:
Cuts render time in half (0:10 → 0:05)◦ Disadvantage:
Navigation changes not displayed in Cascade until XML is published
09/17/2012
Index Blocks | Top Navigation w/ Dropdown
2012 Cascade Server User’s Conference
15
09/17/2012
Index Blocks | Left Navigation
2012 Cascade Server User’s Conference
16
Accordion / Fly-out Navigation:◦ Subfolder navigation
appears without changing pages
◦ Disadvantage: Must index entire site Relative indexing cannot see
into parent folders
09/17/2012
Index Blocks | Left Navigation
2012 Cascade Server User’s Conference
17
Optimal Solution: Relative Indexing◦ Index the current page’s parent folders and
siblings◦ Doesn’t
index everypage in asection
◦ OptimizedIndex Block:
09/17/2012
Index Blocks | Left Navigation
2012 Cascade Server User’s Conference
18
Results◦ 70-page section, single page rendered
If Accordion is needed, use Feed Block◦ Same solution as Top Navigation◦ Disadvantages:
Navigation changes not displayed in Cascade until XML is published
Accordion cannot be viewed in Cascade Requires .NET, PHP to process XML file
09/17/2012
Index Blocks | Left Navigation
Solution Render
Accordion 0:31
Relative Indexing 0:10
2012 Cascade Server User’s Conference
19
Usually have to index content from pages Much faster to index Metadata only Example: Faculty Directory
◦ Listing Page: Name, College, Phone, Email◦ Optimized Index Block
09/17/2012
Index Blocks | Listing Pages
2012 Cascade Server User’s Conference
20
Example: Faculty Directory◦ Data Definition: Index page content◦ Metadata: Only index page metadata◦ Results
(450 Faculty pages)
09/17/2012
Index Blocks | Listing Pages
Data Definition Metadata
0:29 0:10
2012 Cascade Server User’s Conference
21
How do you know what data you need and don’t need?◦ Need to see the data the page is seeing◦ “XML” configuration in each Configuration Set
09/17/2012
Index Blocks | Know Your Data
2012 Cascade Server User’s Conference
22
How do you know what data you need and don’t need?◦ Edit page and attach appropriate block to XML
configuration (e.g. “Press Releases”)◦ View XML configuration to see the XML the page
is seeing◦ Edit Index
Block optionsto find optimalsettings
09/17/2012
Index Blocks | Know Your Data
2012 Cascade Server User’s Conference
23
The bigger they are, the harder they fall(or render, or save)
Use Data Definition Blocks◦ Breaks up fields in page’s Data Definition
09/17/2012
Data Definitions
2012 Cascade Server User’s Conference
24
Do full-site publishes at night when server load is light
Publish only what’s needed
Avoid full-site publishes when possible◦ Solution: Includes for common template regions
Publishing over Network is faster than FTP
09/17/2012
Publishing
2012 Cascade Server User’s Conference
25
Choose your Web browser wisely◦ My #1 choice is Google Chrome,
followed by Firefox, Safari◦ Aren’t I forgetting a browser?
Browsing in Cascade◦ Use context menus◦ Don’t have to wait for a page to
load before selecting action(Edit, Publish, etc.)
09/17/2012
For End Users
2012 Cascade Server User’s Conference
26
Gather list of modules / regions to evaluate Benchmark current setup
◦ Metrics: “Rendering Time”and “Slow Regions”
◦ Publish times: single page,full site
Index Block◦ Evaluate XSLT to determine what data it needs◦ Create XML Configuration for all Configuration
Sets◦ Attach index block to see what the page is seeing◦ Tune Index Blocks settings to get minimum data
09/17/2012
Audit Process
2012 Cascade Server User’s Conference
27
Modules◦ Consider different approach (e.g. Feed Block)◦ Listing Pages: Data Definition vs. Metadata
Data Definitions◦ Opportunities to split into Data Definition Blocks
09/17/2012
Audit Process
2012 Cascade Server User’s Conference
28
Infrastructure◦ Cascade / OS / DB versions◦ Front- and back-end architecture & specs
1 or 2 servers? Processor / Memory / Disk
◦ Java Engine 32- or 64-bit? Memory allocated
◦ Publishing Via Network or FTP?
09/17/2012
Audit Process
2012 Cascade Server User’s Conference
29
09/17/2012
FREE Performance Audit A “look under the hood”
◦ Page render/publishspeed, configuration, code andinfrastructure implementation
Valuable insights & actionable recommendations◦ Improve the user experience and
simplify maintenance QR code, card in Swag Bag, stop
by our booth, see Rick Boccard or me, or visitbeacontechnologies.com/cascade-server-analysis/
2012 Cascade Server User’s Conference
30
Contact Information:Justin KlingmanBeacon Technologies, Inc.beacontechnologies.comjklingman@beacontechnologies.com336.232.5685@JustinVT99
Questions?
09/17/2012