SlideShare a Scribd company logo
Scalability and Performance
for eCommerce
Overview and Discussion
Jerry Lewis
VP IBM Practice, SysIQ
Overview
• My background
• Horror Show (not Harasho)
• About Scalability
• What is website performance?
• Why does performance matter?
• What causes bad performance?
• How do we test website performance?
• How do we achieve good performance?
• Questions and Answers
3
A little about me
Large Client Experience
(revenue > $1 Billion USD)
Horror Stories
Horror Stories
Reviews Tag Won’t Fire
• Cause: SSL certificate changed at 3rd party
• Impact
• JS Null Pointer Exception
• Add to cart button disappears
• $1,250,000 USD lost sales
Horror Stories
SinoMaximiser.js won’t load on e-com site
• Cause: SinoMaximizer went out of business
• Impact
• 3 minute delay in loading page
• Massive customer complaints
• Brand erosion
Horror Stories
OOM Crashes site randomly for months
• Cause: Gomez login script
• Impact
• 10,000+ addresses in one user
account
• Loading address book causes OOM
• Site crash
• $15,000 in lost sales per occurrence
• Customer complaints when site
crashes
Horror Stories
EAV Data Model grows wildly, crippling site
• Cause: Millions of records loaded every
week for 1 year without clean up
• Impact
• Slow site performance
• DB Corruption when trying to clean
when site was live
• Loss of customer data, order data
• $100,000 USD lost revenue
• Massive customer complaints
Horror Stories
Search for blank term causes OOM during
holiday rush
• Cause: db query without limit on
number of results
• Impact:
• OOM, site outage during holiday
• $10,000 USD lost revenue per
occurrence
• Massive customer complaints
• Shoppers going to other sites
Horror Stories
Credit Card processing bottleneck causes 48
hour delay in fulfilling orders
• Cause: 3 second single threaded
detokenization process with order
volume > 4,000 orders per hour
• Impact:
• $2,000,000 in lost revenue due to
unfulfilled orders
• Inventory synchronization issues
cause invalid orders to be placed
• Massive customer complaints
• Negative social media
Scalability
Varies by platform
Key Questions
• Can you add clusters of servers (Web / App)
• Are they centrally manageable
• Monitoring
• Deployment
• Operation
• Can you vertically scale
• Multiple JVMs per node
• What additional costs accrue to horizontal or vertical scaling
Scaling is EXPENSIVE
Scalability
• Get the most from your hardware
• Get the most from your team
• Little additional money required
4
a : the ability to perform : efficiency
b : the manner in which a mechanism
performs <engine performance>
per·for·mance
noun pə(r)-ˈfȯr-mən(t)s
Definition of PERFORMANCE
Ecommerce Website Performance:
The ability to effectively process transactions.
We measure performance a few ways:
• Response time - The home page loaded in 2 seconds
• Availability – The site was available 99.999% of the time
• Throughput – page hits per second or orders per hour
• Error rate - the number of errors relative to total requests
• Capacity – maximum throughput that can be achieved with
acceptable response time and availability
By maximizing your performance:
• Get the most out of your infrastructure
• Minimize software license costs (WC = $180,000 USD Per
PROCESSOR)
Why Does it Matter?
Scalability and performance for e commerce
BECAUSE SLOW SITES HURT
What Causes Bad Performance?
How do we test?
Execute Tests
Monitor
Systems
Analyze
Results
Code / Config
Changes
Modify
Scripts
Define Performance Metrics (GOALS)
Define User Scenarios
Write Test Scripts
Mimic Prod Infrastructure
PLAN EXECUTE
PLAN
Image Courtesy of IBM Corp
PLAN
• DEFINE METRICS AND GOALS
– Define acceptable response time goals for
• Home Page Load
• Search Results
• Product Display
• Add To Cart
• Checkout Pages
– Get projected metrics for
• Peak orders per hour
• Peak page views per second
• Conversion rate at peak
• Concurrent Visitors / Sessions
• Acceptable error rates
– How much headroom is required?
– Resellers care more than Big Brands (why?)
PLAN
• CREATE USER SCENARIOS
– Understand characteristics of
users
• How do they browse the site
• How often do they search
• How many sign in or create an
account?
• % that add to cart
– Understand characteristics of
orders
• # Items per order
• % of orders using promotions /
coupons
• Registered vs guest checkout
PLAN
• BUILD TEST PLAN
– Use the goals and metrics to
design a performance test plan
– Use the characteristics of
shoppers to design test scripts
– Use infrastructure that mirrors
production
• Same # of tiers
• DB / App / Web Hardware, Network
and Configuration
• 3rd Party and Back End Integrations
• Scheduled job / data loads
• “Tags” must fire
– Drive load with a system that
provides reports
EXECUTE
Image Courtesy of IBM Corp
EXECUTE
• EXECUTE LOAD TESTS
– Drive peak load against the
test infrastructure
– Use various methods
• Gradually increase to peak
• Burst
• Saturation / Soak
• Be sure you can capture
results
EXECUTEMONITOR
• CPU and RAM Utilization (DB/APP/WEB)
– Conform to headroom goals (typically 60-70% max on
app/db tiers)
– Garbage collection a major contributor
• Threading funnels and points of failure
– Web  App  DB
– Messaging Servers
– 3rd party API calls
• JVM / HEAP Performance
– Take Java cores during load tests
– Bottlenecks found by analyzing threads
• What are threads waiting on?
• Long Running SQL?
• Open DB Connections?
– Fragmentation and large object requests – key for garbage
collection
• DB Performance
– Buffer Pool Hit Ratio
– Open Connections
– Long Running Queries
• Disk IO / Network Latency
– Are you waiting on file system access?
– Are network response times good?
EXECUTE
• Analyze
– Test reports
• Log files (Web, App, DB)
• Java Heap
• DB logs
• CPU, Disk IO, Network Latency
• Recommend changes to
code or configurations
• Modify test scripts if
necessary
• Repeat
How do we achieve good performance?
Everyone has a part to play
• Project managers
• Developers
• Admins
• DBAs
• Testers
• Designers
• HTML/JS/CSS Team
• Clients
• Expectations
• Requirements
• Budget
How do we achieve good performance?
We must design for performance!
Design for Performance
• Front end
• Caching strategy
• Avoid needless execution of logic
• Database interactions
• Registry / Circuit Breakers
• Web/App/DB Tuning
• Ensure code is traceable
• Database design
• Coding best practices
Design for performance
• Front End
– Limit size of page
– Limit number of requests
– Componentize pages to maximize use
of platform specific server side
caching for dynamic content (e.g.
Dynacache for WC)
– Use Tag Containers for 3rd party Tags
– Avoid DB interactions if possible
– Cookie free domains where possible
for static contents
Design for performance
Design for Performance
• Caching and Caching Strategy
– Get to know your platform’s caching framework
– If designing a new page or function, identify caching impact
(what are new cache keys)
– Part of code review should include inclusion in cache and cache
invalidation
– Build page fragments that can be cached on dynamic pages
• USE a CDN
– WEB
– IMAGES
– MEDIA
• Push clients to leverage YouTube
Design for Performance
Build efficient pages and logic
• Avoid needless execution of logic
• Order calculate
• Address lookups
• Looking up product details when
unnecessary (esp. search results)
• Limit result set sizes (e.g. address
book)
• No Crappy Code
Design for Performance
• Database interactions
– Use JDBC / Session Beans
– Query Performance in Code
Review
– Views / Flat tables can help
– Parameterized queries
• Database Maintenance
– Remove obsolete data
– Reorg / Reindex
Design for Performance
DB Cleaning / Optimization
• E-Commerce Databases grow very fast
• Clean obsolete data regularly
– Need Customer Data Retention Policy
• Don’t get behind – it can be very hard to
recover if you don’t have robust hardware
• Review table sizes every week, look for
growth, look for changes in relative size of
tables
• Look at longest running queries and try to
optimize.
• Profile queries executed in code during code
review
Design for Performance
• Circuit Breakers
– DB Driven Registry
– Properties File Registry
– Allows toggling on/off key
functionality
– Good for Business Users and for
performance
Design for Performance
• Ensure traceability of code
• Avoid System.out.println
• Pollutes logs
• Impacts performance
• Use separate logs for 3rd party
API calls if possible
– Key for troubleshooting
Some Tools of the Trade
Load Testing APM Heap
Analysis
Tag
Container
External
Tests
CDN
Silk
Performer
Dynatrace IBM Heap
Analyzer
TagMan Gomez Akamai
Commercial
Open Source / Free
Load Testing APM Heap
Analysis
Tag
Container
External
Tests
CDN
JMeter Zabbix Eclipse
Memory
Analyzer
Google Tag
Manager
Pingdom
Yslow
CloudFlare
http://www.redbooks.ibm.com/abstracts/sg247512.html
WebSphere Commerce High Availability and Performance Solutions:
Q&A
Jerry Lewis
VP IBM Practice, SysIQ
+1 415 806 0755 (Mobile)
j.lewis@sysiq.com
http://www.linkedin.com/pub/jerry-lewis/4/76a/686/
Ad

More Related Content

What's hot (20)

5 Ways to Boost E-Commerce Site Performance with BigMemory
5 Ways to Boost E-Commerce Site Performance with BigMemory5 Ways to Boost E-Commerce Site Performance with BigMemory
5 Ways to Boost E-Commerce Site Performance with BigMemory
Terracotta, a product line at Software AG
 
Magestore POS Architecture - High Performance POS for Magento
Magestore POS Architecture - High Performance POS for MagentoMagestore POS Architecture - High Performance POS for Magento
Magestore POS Architecture - High Performance POS for Magento
Alex Nguyen
 
IBM B2B segments
IBM B2B segmentsIBM B2B segments
IBM B2B segments
Ashutosh Kumar Jha
 
Business Intelligence Architecture
Business Intelligence ArchitectureBusiness Intelligence Architecture
Business Intelligence Architecture
Philippe Julio
 
Cloud Economics
Cloud EconomicsCloud Economics
Cloud Economics
Rackspace
 
Get Mainframe and IBM i Data to Snowflake
Get Mainframe and IBM i Data to SnowflakeGet Mainframe and IBM i Data to Snowflake
Get Mainframe and IBM i Data to Snowflake
Precisely
 
Onomi Launch Presentation
Onomi Launch PresentationOnomi Launch Presentation
Onomi Launch Presentation
Onomi
 
Raymark Affinity Merchandising
Raymark Affinity MerchandisingRaymark Affinity Merchandising
Raymark Affinity Merchandising
Raymark
 
Bi presentation to bkk
Bi presentation to bkkBi presentation to bkk
Bi presentation to bkk
guest4e975e2
 
Keys toSuccess: Business Intelligence Proven, Practical Strategies That Work
Keys toSuccess: Business Intelligence Proven, Practical Strategies That WorkKeys toSuccess: Business Intelligence Proven, Practical Strategies That Work
Keys toSuccess: Business Intelligence Proven, Practical Strategies That Work
Senturus
 
"Supply chain simplification" presentation for Digital 2013 conference
"Supply chain simplification" presentation for Digital 2013 conference"Supply chain simplification" presentation for Digital 2013 conference
"Supply chain simplification" presentation for Digital 2013 conference
Principality Consulting Limited
 
Self-Tuning MySQL - a Hosting Provider's Unfair Advantage
Self-Tuning MySQL - a Hosting Provider's Unfair AdvantageSelf-Tuning MySQL - a Hosting Provider's Unfair Advantage
Self-Tuning MySQL - a Hosting Provider's Unfair Advantage
Deep Information Sciences
 
MapInfo Pro v2021 - Next Generation Location Analytics Made Easy
MapInfo Pro v2021 - Next Generation Location Analytics Made EasyMapInfo Pro v2021 - Next Generation Location Analytics Made Easy
MapInfo Pro v2021 - Next Generation Location Analytics Made Easy
Precisely
 
Magento BI
Magento BIMagento BI
Magento BI
melanieschaekers
 
ITMAGINATION - competences, facts, technologies, clients
ITMAGINATION - competences, facts, technologies, clientsITMAGINATION - competences, facts, technologies, clients
ITMAGINATION - competences, facts, technologies, clients
ITMAGINATION
 
Introduction to Business Intelligence
Introduction to Business IntelligenceIntroduction to Business Intelligence
Introduction to Business Intelligence
Almog Ramrajkar
 
Tools and techniques for predictive analytics
Tools and techniques for predictive analyticsTools and techniques for predictive analytics
Tools and techniques for predictive analytics
RohanKumarJumnani
 
Onomi - MongoDB Introduction
Onomi - MongoDB IntroductionOnomi - MongoDB Introduction
Onomi - MongoDB Introduction
Onomi
 
Microsoft business intelligence
Microsoft business intelligenceMicrosoft business intelligence
Microsoft business intelligence
Jawad Mohmand
 
Maximize Market Share with Micro Merchandising
Maximize Market Share with Micro MerchandisingMaximize Market Share with Micro Merchandising
Maximize Market Share with Micro Merchandising
Jerry Inman
 
Magestore POS Architecture - High Performance POS for Magento
Magestore POS Architecture - High Performance POS for MagentoMagestore POS Architecture - High Performance POS for Magento
Magestore POS Architecture - High Performance POS for Magento
Alex Nguyen
 
Business Intelligence Architecture
Business Intelligence ArchitectureBusiness Intelligence Architecture
Business Intelligence Architecture
Philippe Julio
 
Cloud Economics
Cloud EconomicsCloud Economics
Cloud Economics
Rackspace
 
Get Mainframe and IBM i Data to Snowflake
Get Mainframe and IBM i Data to SnowflakeGet Mainframe and IBM i Data to Snowflake
Get Mainframe and IBM i Data to Snowflake
Precisely
 
Onomi Launch Presentation
Onomi Launch PresentationOnomi Launch Presentation
Onomi Launch Presentation
Onomi
 
Raymark Affinity Merchandising
Raymark Affinity MerchandisingRaymark Affinity Merchandising
Raymark Affinity Merchandising
Raymark
 
Bi presentation to bkk
Bi presentation to bkkBi presentation to bkk
Bi presentation to bkk
guest4e975e2
 
Keys toSuccess: Business Intelligence Proven, Practical Strategies That Work
Keys toSuccess: Business Intelligence Proven, Practical Strategies That WorkKeys toSuccess: Business Intelligence Proven, Practical Strategies That Work
Keys toSuccess: Business Intelligence Proven, Practical Strategies That Work
Senturus
 
"Supply chain simplification" presentation for Digital 2013 conference
"Supply chain simplification" presentation for Digital 2013 conference"Supply chain simplification" presentation for Digital 2013 conference
"Supply chain simplification" presentation for Digital 2013 conference
Principality Consulting Limited
 
Self-Tuning MySQL - a Hosting Provider's Unfair Advantage
Self-Tuning MySQL - a Hosting Provider's Unfair AdvantageSelf-Tuning MySQL - a Hosting Provider's Unfair Advantage
Self-Tuning MySQL - a Hosting Provider's Unfair Advantage
Deep Information Sciences
 
MapInfo Pro v2021 - Next Generation Location Analytics Made Easy
MapInfo Pro v2021 - Next Generation Location Analytics Made EasyMapInfo Pro v2021 - Next Generation Location Analytics Made Easy
MapInfo Pro v2021 - Next Generation Location Analytics Made Easy
Precisely
 
ITMAGINATION - competences, facts, technologies, clients
ITMAGINATION - competences, facts, technologies, clientsITMAGINATION - competences, facts, technologies, clients
ITMAGINATION - competences, facts, technologies, clients
ITMAGINATION
 
Introduction to Business Intelligence
Introduction to Business IntelligenceIntroduction to Business Intelligence
Introduction to Business Intelligence
Almog Ramrajkar
 
Tools and techniques for predictive analytics
Tools and techniques for predictive analyticsTools and techniques for predictive analytics
Tools and techniques for predictive analytics
RohanKumarJumnani
 
Onomi - MongoDB Introduction
Onomi - MongoDB IntroductionOnomi - MongoDB Introduction
Onomi - MongoDB Introduction
Onomi
 
Microsoft business intelligence
Microsoft business intelligenceMicrosoft business intelligence
Microsoft business intelligence
Jawad Mohmand
 
Maximize Market Share with Micro Merchandising
Maximize Market Share with Micro MerchandisingMaximize Market Share with Micro Merchandising
Maximize Market Share with Micro Merchandising
Jerry Inman
 

Viewers also liked (20)

7 Key Indicators You've Outgrown Your eCommerce Platform
7 Key Indicators You've Outgrown Your eCommerce Platform7 Key Indicators You've Outgrown Your eCommerce Platform
7 Key Indicators You've Outgrown Your eCommerce Platform
AmandaMulquiney
 
Webinar: Myths, Mistakes and Management of WooCommerce at Scale
Webinar: Myths, Mistakes and Management of WooCommerce at ScaleWebinar: Myths, Mistakes and Management of WooCommerce at Scale
Webinar: Myths, Mistakes and Management of WooCommerce at Scale
WP Engine
 
Доступность веб-сайтов: WWW для всех?
Доступность веб-сайтов: WWW для всех?Доступность веб-сайтов: WWW для всех?
Доступность веб-сайтов: WWW для всех?
Ecommerce Solution Provider SysIQ
 
Mastering Java ByteCode
Mastering Java ByteCodeMastering Java ByteCode
Mastering Java ByteCode
Ecommerce Solution Provider SysIQ
 
Management and Communications (IPAA)
Management and Communications (IPAA)Management and Communications (IPAA)
Management and Communications (IPAA)
Ecommerce Solution Provider SysIQ
 
Going global
Going globalGoing global
Going global
Ecommerce Solution Provider SysIQ
 
Getting to know magento
Getting to know magentoGetting to know magento
Getting to know magento
Ecommerce Solution Provider SysIQ
 
QA evolution, in pictures
QA evolution, in picturesQA evolution, in pictures
QA evolution, in pictures
Ecommerce Solution Provider SysIQ
 
Developing for e commerce is important
Developing for e commerce is importantDeveloping for e commerce is important
Developing for e commerce is important
Ecommerce Solution Provider SysIQ
 
QA evolution to the present day
QA evolution to the present dayQA evolution to the present day
QA evolution to the present day
Ecommerce Solution Provider SysIQ
 
Психология восприятия и UX дизайн
Психология восприятия и UX дизайнПсихология восприятия и UX дизайн
Психология восприятия и UX дизайн
Ecommerce Solution Provider SysIQ
 
Frontend Servers and NGINX: What, Where and How
Frontend Servers and NGINX: What, Where and HowFrontend Servers and NGINX: What, Where and How
Frontend Servers and NGINX: What, Where and How
Ecommerce Solution Provider SysIQ
 
Эффективный JavaScript - IQLab Frontend Fusion 2012
Эффективный  JavaScript - IQLab Frontend Fusion 2012Эффективный  JavaScript - IQLab Frontend Fusion 2012
Эффективный JavaScript - IQLab Frontend Fusion 2012
Ecommerce Solution Provider SysIQ
 
Гибкость и Структурированность Oбъектно Oриентированноя CSS
Гибкость и Структурированность Oбъектно Oриентированноя CSSГибкость и Структурированность Oбъектно Oриентированноя CSS
Гибкость и Структурированность Oбъектно Oриентированноя CSS
Ecommerce Solution Provider SysIQ
 
Модульные сетки в реальном мире - IQLab Frontend Fusion 2012
Модульные сетки в реальном мире - IQLab Frontend Fusion 2012Модульные сетки в реальном мире - IQLab Frontend Fusion 2012
Модульные сетки в реальном мире - IQLab Frontend Fusion 2012
Ecommerce Solution Provider SysIQ
 
7 Key Indicators You've Outgrown Your eCommerce Platform
7 Key Indicators You've Outgrown Your eCommerce Platform7 Key Indicators You've Outgrown Your eCommerce Platform
7 Key Indicators You've Outgrown Your eCommerce Platform
AmandaMulquiney
 
Webinar: Myths, Mistakes and Management of WooCommerce at Scale
Webinar: Myths, Mistakes and Management of WooCommerce at ScaleWebinar: Myths, Mistakes and Management of WooCommerce at Scale
Webinar: Myths, Mistakes and Management of WooCommerce at Scale
WP Engine
 
Доступность веб-сайтов: WWW для всех?
Доступность веб-сайтов: WWW для всех?Доступность веб-сайтов: WWW для всех?
Доступность веб-сайтов: WWW для всех?
Ecommerce Solution Provider SysIQ
 
Психология восприятия и UX дизайн
Психология восприятия и UX дизайнПсихология восприятия и UX дизайн
Психология восприятия и UX дизайн
Ecommerce Solution Provider SysIQ
 
Эффективный JavaScript - IQLab Frontend Fusion 2012
Эффективный  JavaScript - IQLab Frontend Fusion 2012Эффективный  JavaScript - IQLab Frontend Fusion 2012
Эффективный JavaScript - IQLab Frontend Fusion 2012
Ecommerce Solution Provider SysIQ
 
Гибкость и Структурированность Oбъектно Oриентированноя CSS
Гибкость и Структурированность Oбъектно Oриентированноя CSSГибкость и Структурированность Oбъектно Oриентированноя CSS
Гибкость и Структурированность Oбъектно Oриентированноя CSS
Ecommerce Solution Provider SysIQ
 
Модульные сетки в реальном мире - IQLab Frontend Fusion 2012
Модульные сетки в реальном мире - IQLab Frontend Fusion 2012Модульные сетки в реальном мире - IQLab Frontend Fusion 2012
Модульные сетки в реальном мире - IQLab Frontend Fusion 2012
Ecommerce Solution Provider SysIQ
 
Ad

Similar to Scalability and performance for e commerce (20)

Web Performance Optimization (WPO)
Web Performance Optimization (WPO)Web Performance Optimization (WPO)
Web Performance Optimization (WPO)
Betclic Everest Group Tech Team
 
Fishbowl's Packaged Tools for WebCenter Automation
Fishbowl's Packaged Tools for WebCenter AutomationFishbowl's Packaged Tools for WebCenter Automation
Fishbowl's Packaged Tools for WebCenter Automation
Fishbowl Solutions
 
Boost the Performance of SharePoint Today!
Boost the Performance of SharePoint Today!Boost the Performance of SharePoint Today!
Boost the Performance of SharePoint Today!
Brian Culver
 
Choosing the Right Business Intelligence Tools for Your Data and Architectura...
Choosing the Right Business Intelligence Tools for Your Data and Architectura...Choosing the Right Business Intelligence Tools for Your Data and Architectura...
Choosing the Right Business Intelligence Tools for Your Data and Architectura...
Victor Holman
 
Fishbowl Solutions Enterprise Batchloader and Workflow Solution Set Webinar
Fishbowl Solutions Enterprise Batchloader and Workflow Solution Set Webinar Fishbowl Solutions Enterprise Batchloader and Workflow Solution Set Webinar
Fishbowl Solutions Enterprise Batchloader and Workflow Solution Set Webinar
Fishbowl Solutions
 
SharePoint Saturday The Conference 2011 - SP2010 Performance
SharePoint Saturday The Conference 2011 - SP2010 PerformanceSharePoint Saturday The Conference 2011 - SP2010 Performance
SharePoint Saturday The Conference 2011 - SP2010 Performance
Brian Culver
 
Владимир Бронников (Senior .NET Developer, Perfectial) “Performance optimizat...
Владимир Бронников (Senior .NET Developer, Perfectial) “Performance optimizat...Владимир Бронников (Senior .NET Developer, Perfectial) “Performance optimizat...
Владимир Бронников (Senior .NET Developer, Perfectial) “Performance optimizat...
DataArt
 
Mobile gotcha
Mobile gotchaMobile gotcha
Mobile gotcha
phegaro
 
SharePoint Custom Development
SharePoint Custom DevelopmentSharePoint Custom Development
SharePoint Custom Development
C/D/H Technology Consultants
 
SharePoint Saturday San Antonio: SharePoint 2010 Performance
SharePoint Saturday San Antonio: SharePoint 2010 PerformanceSharePoint Saturday San Antonio: SharePoint 2010 Performance
SharePoint Saturday San Antonio: SharePoint 2010 Performance
Brian Culver
 
Rzepnicki_thesis_presentation_2003(2) (1)
Rzepnicki_thesis_presentation_2003(2) (1)Rzepnicki_thesis_presentation_2003(2) (1)
Rzepnicki_thesis_presentation_2003(2) (1)
Witold Rzepnicki
 
Pr dc 2015 sql server is cheaper than open source
Pr dc 2015 sql server is cheaper than open sourcePr dc 2015 sql server is cheaper than open source
Pr dc 2015 sql server is cheaper than open source
Terry Bunio
 
5 Common Mistakes You are Making on your Website
 5 Common Mistakes You are Making on your Website 5 Common Mistakes You are Making on your Website
5 Common Mistakes You are Making on your Website
Acquia
 
Fishbowl Solutions Webinar: A Path, Package, and Promise for WebCenter Conten...
Fishbowl Solutions Webinar: A Path, Package, and Promise for WebCenter Conten...Fishbowl Solutions Webinar: A Path, Package, and Promise for WebCenter Conten...
Fishbowl Solutions Webinar: A Path, Package, and Promise for WebCenter Conten...
Fishbowl Solutions
 
Pros & Cons of Microservices Architecture
Pros & Cons of Microservices ArchitecturePros & Cons of Microservices Architecture
Pros & Cons of Microservices Architecture
Ashwini Kuntamukkala
 
Building high performance and scalable share point applications
Building high performance and scalable share point applicationsBuilding high performance and scalable share point applications
Building high performance and scalable share point applications
Talbott Crowell
 
WebCenter Content 11g Upgrade Webinar - March 2013
WebCenter Content 11g Upgrade Webinar - March 2013WebCenter Content 11g Upgrade Webinar - March 2013
WebCenter Content 11g Upgrade Webinar - March 2013
Fishbowl Solutions
 
Le big data à l'épreuve des projets d'entreprise
Le big data à l'épreuve des projets d'entrepriseLe big data à l'épreuve des projets d'entreprise
Le big data à l'épreuve des projets d'entreprise
Rubedo, a WebTales solution
 
How_To_Soup_Up_Your_Farm
How_To_Soup_Up_Your_FarmHow_To_Soup_Up_Your_Farm
How_To_Soup_Up_Your_Farm
Nigel Price
 
Four approaches to integrate aem with external systems by Jan Kuzniak
Four approaches to integrate aem with external systems by Jan KuzniakFour approaches to integrate aem with external systems by Jan Kuzniak
Four approaches to integrate aem with external systems by Jan Kuzniak
AEM HUB
 
Fishbowl's Packaged Tools for WebCenter Automation
Fishbowl's Packaged Tools for WebCenter AutomationFishbowl's Packaged Tools for WebCenter Automation
Fishbowl's Packaged Tools for WebCenter Automation
Fishbowl Solutions
 
Boost the Performance of SharePoint Today!
Boost the Performance of SharePoint Today!Boost the Performance of SharePoint Today!
Boost the Performance of SharePoint Today!
Brian Culver
 
Choosing the Right Business Intelligence Tools for Your Data and Architectura...
Choosing the Right Business Intelligence Tools for Your Data and Architectura...Choosing the Right Business Intelligence Tools for Your Data and Architectura...
Choosing the Right Business Intelligence Tools for Your Data and Architectura...
Victor Holman
 
Fishbowl Solutions Enterprise Batchloader and Workflow Solution Set Webinar
Fishbowl Solutions Enterprise Batchloader and Workflow Solution Set Webinar Fishbowl Solutions Enterprise Batchloader and Workflow Solution Set Webinar
Fishbowl Solutions Enterprise Batchloader and Workflow Solution Set Webinar
Fishbowl Solutions
 
SharePoint Saturday The Conference 2011 - SP2010 Performance
SharePoint Saturday The Conference 2011 - SP2010 PerformanceSharePoint Saturday The Conference 2011 - SP2010 Performance
SharePoint Saturday The Conference 2011 - SP2010 Performance
Brian Culver
 
Владимир Бронников (Senior .NET Developer, Perfectial) “Performance optimizat...
Владимир Бронников (Senior .NET Developer, Perfectial) “Performance optimizat...Владимир Бронников (Senior .NET Developer, Perfectial) “Performance optimizat...
Владимир Бронников (Senior .NET Developer, Perfectial) “Performance optimizat...
DataArt
 
Mobile gotcha
Mobile gotchaMobile gotcha
Mobile gotcha
phegaro
 
SharePoint Saturday San Antonio: SharePoint 2010 Performance
SharePoint Saturday San Antonio: SharePoint 2010 PerformanceSharePoint Saturday San Antonio: SharePoint 2010 Performance
SharePoint Saturday San Antonio: SharePoint 2010 Performance
Brian Culver
 
Rzepnicki_thesis_presentation_2003(2) (1)
Rzepnicki_thesis_presentation_2003(2) (1)Rzepnicki_thesis_presentation_2003(2) (1)
Rzepnicki_thesis_presentation_2003(2) (1)
Witold Rzepnicki
 
Pr dc 2015 sql server is cheaper than open source
Pr dc 2015 sql server is cheaper than open sourcePr dc 2015 sql server is cheaper than open source
Pr dc 2015 sql server is cheaper than open source
Terry Bunio
 
5 Common Mistakes You are Making on your Website
 5 Common Mistakes You are Making on your Website 5 Common Mistakes You are Making on your Website
5 Common Mistakes You are Making on your Website
Acquia
 
Fishbowl Solutions Webinar: A Path, Package, and Promise for WebCenter Conten...
Fishbowl Solutions Webinar: A Path, Package, and Promise for WebCenter Conten...Fishbowl Solutions Webinar: A Path, Package, and Promise for WebCenter Conten...
Fishbowl Solutions Webinar: A Path, Package, and Promise for WebCenter Conten...
Fishbowl Solutions
 
Pros & Cons of Microservices Architecture
Pros & Cons of Microservices ArchitecturePros & Cons of Microservices Architecture
Pros & Cons of Microservices Architecture
Ashwini Kuntamukkala
 
Building high performance and scalable share point applications
Building high performance and scalable share point applicationsBuilding high performance and scalable share point applications
Building high performance and scalable share point applications
Talbott Crowell
 
WebCenter Content 11g Upgrade Webinar - March 2013
WebCenter Content 11g Upgrade Webinar - March 2013WebCenter Content 11g Upgrade Webinar - March 2013
WebCenter Content 11g Upgrade Webinar - March 2013
Fishbowl Solutions
 
Le big data à l'épreuve des projets d'entreprise
Le big data à l'épreuve des projets d'entrepriseLe big data à l'épreuve des projets d'entreprise
Le big data à l'épreuve des projets d'entreprise
Rubedo, a WebTales solution
 
How_To_Soup_Up_Your_Farm
How_To_Soup_Up_Your_FarmHow_To_Soup_Up_Your_Farm
How_To_Soup_Up_Your_Farm
Nigel Price
 
Four approaches to integrate aem with external systems by Jan Kuzniak
Four approaches to integrate aem with external systems by Jan KuzniakFour approaches to integrate aem with external systems by Jan Kuzniak
Four approaches to integrate aem with external systems by Jan Kuzniak
AEM HUB
 
Ad

More from Ecommerce Solution Provider SysIQ (17)

Java serialization
Java serializationJava serialization
Java serialization
Ecommerce Solution Provider SysIQ
 
Developing for e commerce is important
Developing for e commerce is importantDeveloping for e commerce is important
Developing for e commerce is important
Ecommerce Solution Provider SysIQ
 
Magento code audit
Magento code auditMagento code audit
Magento code audit
Ecommerce Solution Provider SysIQ
 
User focused design
User focused designUser focused design
User focused design
Ecommerce Solution Provider SysIQ
 
Going Global
Going GlobalGoing Global
Going Global
Ecommerce Solution Provider SysIQ
 
Quick Intro to Clean Coding
Quick Intro to Clean CodingQuick Intro to Clean Coding
Quick Intro to Clean Coding
Ecommerce Solution Provider SysIQ
 
User Behavior: Interacting With Important Website Elements
User Behavior: Interacting With Important Website ElementsUser Behavior: Interacting With Important Website Elements
User Behavior: Interacting With Important Website Elements
Ecommerce Solution Provider SysIQ
 
IGears: Template Architecture and Principles
IGears: Template Architecture and PrinciplesIGears: Template Architecture and Principles
IGears: Template Architecture and Principles
Ecommerce Solution Provider SysIQ
 
Interactive web prototyping
Interactive web prototypingInteractive web prototyping
Interactive web prototyping
Ecommerce Solution Provider SysIQ
 
Правила хорошего SEO тона в Frontend разработке
Правила хорошего SEO тона в Frontend разработкеПравила хорошего SEO тона в Frontend разработке
Правила хорошего SEO тона в Frontend разработке
Ecommerce Solution Provider SysIQ
 
Understanding Annotations in Java
Understanding Annotations in JavaUnderstanding Annotations in Java
Understanding Annotations in Java
Ecommerce Solution Provider SysIQ
 
Правила хорошего SEO тона в Frontend разработке
Правила хорошего SEO тона в Frontend разработкеПравила хорошего SEO тона в Frontend разработке
Правила хорошего SEO тона в Frontend разработке
Ecommerce Solution Provider SysIQ
 

Recently uploaded (20)

Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 

Scalability and performance for e commerce

  • 1. Scalability and Performance for eCommerce Overview and Discussion Jerry Lewis VP IBM Practice, SysIQ
  • 2. Overview • My background • Horror Show (not Harasho) • About Scalability • What is website performance? • Why does performance matter? • What causes bad performance? • How do we test website performance? • How do we achieve good performance? • Questions and Answers
  • 3. 3 A little about me Large Client Experience (revenue > $1 Billion USD)
  • 5. Horror Stories Reviews Tag Won’t Fire • Cause: SSL certificate changed at 3rd party • Impact • JS Null Pointer Exception • Add to cart button disappears • $1,250,000 USD lost sales
  • 6. Horror Stories SinoMaximiser.js won’t load on e-com site • Cause: SinoMaximizer went out of business • Impact • 3 minute delay in loading page • Massive customer complaints • Brand erosion
  • 7. Horror Stories OOM Crashes site randomly for months • Cause: Gomez login script • Impact • 10,000+ addresses in one user account • Loading address book causes OOM • Site crash • $15,000 in lost sales per occurrence • Customer complaints when site crashes
  • 8. Horror Stories EAV Data Model grows wildly, crippling site • Cause: Millions of records loaded every week for 1 year without clean up • Impact • Slow site performance • DB Corruption when trying to clean when site was live • Loss of customer data, order data • $100,000 USD lost revenue • Massive customer complaints
  • 9. Horror Stories Search for blank term causes OOM during holiday rush • Cause: db query without limit on number of results • Impact: • OOM, site outage during holiday • $10,000 USD lost revenue per occurrence • Massive customer complaints • Shoppers going to other sites
  • 10. Horror Stories Credit Card processing bottleneck causes 48 hour delay in fulfilling orders • Cause: 3 second single threaded detokenization process with order volume > 4,000 orders per hour • Impact: • $2,000,000 in lost revenue due to unfulfilled orders • Inventory synchronization issues cause invalid orders to be placed • Massive customer complaints • Negative social media
  • 11. Scalability Varies by platform Key Questions • Can you add clusters of servers (Web / App) • Are they centrally manageable • Monitoring • Deployment • Operation • Can you vertically scale • Multiple JVMs per node • What additional costs accrue to horizontal or vertical scaling Scaling is EXPENSIVE
  • 12. Scalability • Get the most from your hardware • Get the most from your team • Little additional money required
  • 13. 4 a : the ability to perform : efficiency b : the manner in which a mechanism performs <engine performance> per·for·mance noun pə(r)-ˈfȯr-mən(t)s Definition of PERFORMANCE Ecommerce Website Performance: The ability to effectively process transactions. We measure performance a few ways: • Response time - The home page loaded in 2 seconds • Availability – The site was available 99.999% of the time • Throughput – page hits per second or orders per hour • Error rate - the number of errors relative to total requests • Capacity – maximum throughput that can be achieved with acceptable response time and availability By maximizing your performance: • Get the most out of your infrastructure • Minimize software license costs (WC = $180,000 USD Per PROCESSOR)
  • 14. Why Does it Matter?
  • 17. What Causes Bad Performance?
  • 18. How do we test? Execute Tests Monitor Systems Analyze Results Code / Config Changes Modify Scripts Define Performance Metrics (GOALS) Define User Scenarios Write Test Scripts Mimic Prod Infrastructure PLAN EXECUTE
  • 20. PLAN • DEFINE METRICS AND GOALS – Define acceptable response time goals for • Home Page Load • Search Results • Product Display • Add To Cart • Checkout Pages – Get projected metrics for • Peak orders per hour • Peak page views per second • Conversion rate at peak • Concurrent Visitors / Sessions • Acceptable error rates – How much headroom is required? – Resellers care more than Big Brands (why?)
  • 21. PLAN • CREATE USER SCENARIOS – Understand characteristics of users • How do they browse the site • How often do they search • How many sign in or create an account? • % that add to cart – Understand characteristics of orders • # Items per order • % of orders using promotions / coupons • Registered vs guest checkout
  • 22. PLAN • BUILD TEST PLAN – Use the goals and metrics to design a performance test plan – Use the characteristics of shoppers to design test scripts – Use infrastructure that mirrors production • Same # of tiers • DB / App / Web Hardware, Network and Configuration • 3rd Party and Back End Integrations • Scheduled job / data loads • “Tags” must fire – Drive load with a system that provides reports
  • 24. EXECUTE • EXECUTE LOAD TESTS – Drive peak load against the test infrastructure – Use various methods • Gradually increase to peak • Burst • Saturation / Soak • Be sure you can capture results
  • 25. EXECUTEMONITOR • CPU and RAM Utilization (DB/APP/WEB) – Conform to headroom goals (typically 60-70% max on app/db tiers) – Garbage collection a major contributor • Threading funnels and points of failure – Web  App  DB – Messaging Servers – 3rd party API calls • JVM / HEAP Performance – Take Java cores during load tests – Bottlenecks found by analyzing threads • What are threads waiting on? • Long Running SQL? • Open DB Connections? – Fragmentation and large object requests – key for garbage collection • DB Performance – Buffer Pool Hit Ratio – Open Connections – Long Running Queries • Disk IO / Network Latency – Are you waiting on file system access? – Are network response times good?
  • 26. EXECUTE • Analyze – Test reports • Log files (Web, App, DB) • Java Heap • DB logs • CPU, Disk IO, Network Latency • Recommend changes to code or configurations • Modify test scripts if necessary • Repeat
  • 27. How do we achieve good performance?
  • 28. Everyone has a part to play • Project managers • Developers • Admins • DBAs • Testers • Designers • HTML/JS/CSS Team • Clients • Expectations • Requirements • Budget How do we achieve good performance? We must design for performance!
  • 29. Design for Performance • Front end • Caching strategy • Avoid needless execution of logic • Database interactions • Registry / Circuit Breakers • Web/App/DB Tuning • Ensure code is traceable • Database design • Coding best practices
  • 30. Design for performance • Front End – Limit size of page – Limit number of requests – Componentize pages to maximize use of platform specific server side caching for dynamic content (e.g. Dynacache for WC) – Use Tag Containers for 3rd party Tags – Avoid DB interactions if possible – Cookie free domains where possible for static contents
  • 32. Design for Performance • Caching and Caching Strategy – Get to know your platform’s caching framework – If designing a new page or function, identify caching impact (what are new cache keys) – Part of code review should include inclusion in cache and cache invalidation – Build page fragments that can be cached on dynamic pages • USE a CDN – WEB – IMAGES – MEDIA • Push clients to leverage YouTube
  • 33. Design for Performance Build efficient pages and logic • Avoid needless execution of logic • Order calculate • Address lookups • Looking up product details when unnecessary (esp. search results) • Limit result set sizes (e.g. address book) • No Crappy Code
  • 34. Design for Performance • Database interactions – Use JDBC / Session Beans – Query Performance in Code Review – Views / Flat tables can help – Parameterized queries • Database Maintenance – Remove obsolete data – Reorg / Reindex
  • 35. Design for Performance DB Cleaning / Optimization • E-Commerce Databases grow very fast • Clean obsolete data regularly – Need Customer Data Retention Policy • Don’t get behind – it can be very hard to recover if you don’t have robust hardware • Review table sizes every week, look for growth, look for changes in relative size of tables • Look at longest running queries and try to optimize. • Profile queries executed in code during code review
  • 36. Design for Performance • Circuit Breakers – DB Driven Registry – Properties File Registry – Allows toggling on/off key functionality – Good for Business Users and for performance
  • 37. Design for Performance • Ensure traceability of code • Avoid System.out.println • Pollutes logs • Impacts performance • Use separate logs for 3rd party API calls if possible – Key for troubleshooting
  • 38. Some Tools of the Trade Load Testing APM Heap Analysis Tag Container External Tests CDN Silk Performer Dynatrace IBM Heap Analyzer TagMan Gomez Akamai Commercial Open Source / Free Load Testing APM Heap Analysis Tag Container External Tests CDN JMeter Zabbix Eclipse Memory Analyzer Google Tag Manager Pingdom Yslow CloudFlare http://www.redbooks.ibm.com/abstracts/sg247512.html WebSphere Commerce High Availability and Performance Solutions:
  • 39. Q&A
  • 40. Jerry Lewis VP IBM Practice, SysIQ +1 415 806 0755 (Mobile) [email protected] http://www.linkedin.com/pub/jerry-lewis/4/76a/686/