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.
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Faster! Optimize Your Cascade Server Experience, by Justin Klingman, Beacon Technologies
1. 2012 Cascade Server User’s Conference
Justin Klingman, Manager, Web Software Development
Beacon Technologies, Inc. | beacontechnologies.com
September 17, 2012
@JustinVT99 #csuc12
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
2012 Cascade Server User’s Conference
2 09/17/2012
3. 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
3 09/17/2012
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
2012 Cascade Server User’s Conference
4 09/17/2012
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
2012 Cascade Server User’s Conference
5 09/17/2012
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
2012 Cascade Server User’s Conference
6 09/17/2012
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
2012 Cascade Server User’s Conference
7 09/17/2012
10. 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
10 09/17/2012
11. Optimized index block:
2012 Cascade Server User’s Conference
11 09/17/2012
12. Change one option at a time to show
performance impact
Results
◦ 1,200 pages, single page rendered(minimal publishing
differences)
Block Option Optimized Render Non-optimized Render
Depth of Index 3 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 0:10 Render page XML inline 1:13
Indexed Asset Content Regular Content / Regular Content / 0:11
User Metadata System Metadata /
User Metadata
Other Indexed Info <not selected> Append Calling Page Data 0:11
2012 Cascade Server User’s Conference
12 09/17/2012
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
<xsl:apply-templates select=“system-page[last-published-on]”>
2012 Cascade Server User’s Conference
13 09/17/2012
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
2012 Cascade Server User’s Conference
14 09/17/2012
16. Accordion / Fly-out
Navigation:
◦ Subfolder navigation appears
without changing pages
◦ Disadvantage: Must index
entire site
Relative indexing cannot see
into parent folders
2012 Cascade Server User’s Conference
16 09/17/2012
17. Optimal Solution: Relative Indexing
◦ Index the current page’s parent folders and siblings
◦ Doesn’t
index every
page in a
section
◦ Optimized
Index Block:
2012 Cascade Server User’s Conference
17 09/17/2012
18. Results
◦ 70-page section, single page rendered
Solution Render
Accordion 0:31
Relative Indexing 0:10
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
2012 Cascade Server User’s Conference
18 09/17/2012
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
2012 Cascade Server User’s Conference
19 09/17/2012
20. Example: Faculty Directory
◦ Data Definition: Index page content
◦ Metadata: Only index page metadata
◦ Results
(450 Faculty pages)
Data Definition Metadata
0:29 0:10
2012 Cascade Server User’s Conference
20 09/17/2012
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
2012 Cascade Server User’s Conference
21 09/17/2012
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 options
to find optimal
settings
2012 Cascade Server User’s Conference
22 09/17/2012
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
2012 Cascade Server User’s Conference
23 09/17/2012
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
2012 Cascade Server User’s Conference
24 09/17/2012
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.)
2012 Cascade Server User’s Conference
25 09/17/2012
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
2012 Cascade Server User’s Conference
26 09/17/2012
27. Modules
◦ Consider different approach (e.g. Feed Block)
◦ Listing Pages: Data Definition vs. Metadata
Data Definitions
◦ Opportunities to split into Data Definition Blocks
2012 Cascade Server User’s Conference
27 09/17/2012
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?
2012 Cascade Server User’s Conference
28 09/17/2012
29. A “look under the hood”
◦ Page render/publish
speed, configuration, code and
infrastructure 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 visit
beacontechnologies.com/cascade-server-analysis/
2012 Cascade Server User’s Conference
29 09/17/2012
30. Contact Information:
Justin Klingman
Beacon Technologies, Inc.
beacontechnologies.com
jklingman@beacontechnologies.com
336.232.5685
@JustinVT99
2012 Cascade Server User’s Conference
30 09/17/2012