SlideShare uma empresa Scribd logo
1 de 40
Baixar para ler offline
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?
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/

Mais conteúdo relacionado

Mais procurados

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 MagentoAlex Nguyen
 
Business Intelligence Architecture
Business Intelligence ArchitectureBusiness Intelligence Architecture
Business Intelligence ArchitecturePhilippe Julio
 
Cloud Economics
Cloud EconomicsCloud Economics
Cloud EconomicsRackspace
 
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 SnowflakePrecisely
 
Onomi Launch Presentation
Onomi Launch PresentationOnomi Launch Presentation
Onomi Launch PresentationOnomi
 
Raymark Affinity Merchandising
Raymark Affinity MerchandisingRaymark Affinity Merchandising
Raymark Affinity MerchandisingRaymark
 
Bi presentation to bkk
Bi presentation to bkkBi presentation to bkk
Bi presentation to bkkguest4e975e2
 
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 WorkSenturus
 
"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 conferencePrincipality 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 AdvantageDeep 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 EasyPrecisely
 
ITMAGINATION - competences, facts, technologies, clients
ITMAGINATION - competences, facts, technologies, clientsITMAGINATION - competences, facts, technologies, clients
ITMAGINATION - competences, facts, technologies, clientsITMAGINATION
 
Introduction to Business Intelligence
Introduction to Business IntelligenceIntroduction to Business Intelligence
Introduction to Business IntelligenceAlmog Ramrajkar
 
Tools and techniques for predictive analytics
Tools and techniques for predictive analyticsTools and techniques for predictive analytics
Tools and techniques for predictive analyticsRohanKumarJumnani
 
Onomi - MongoDB Introduction
Onomi - MongoDB IntroductionOnomi - MongoDB Introduction
Onomi - MongoDB IntroductionOnomi
 
Microsoft business intelligence
Microsoft business intelligenceMicrosoft business intelligence
Microsoft business intelligenceJawad Mohmand
 
Maximize Market Share with Micro Merchandising
Maximize Market Share with Micro MerchandisingMaximize Market Share with Micro Merchandising
Maximize Market Share with Micro MerchandisingJerry Inman
 

Mais procurados (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
 
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
 
IBM B2B segments
IBM B2B segmentsIBM B2B segments
IBM B2B segments
 
Business Intelligence Architecture
Business Intelligence ArchitectureBusiness Intelligence Architecture
Business Intelligence Architecture
 
Cloud Economics
Cloud EconomicsCloud Economics
Cloud Economics
 
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
 
Onomi Launch Presentation
Onomi Launch PresentationOnomi Launch Presentation
Onomi Launch Presentation
 
Raymark Affinity Merchandising
Raymark Affinity MerchandisingRaymark Affinity Merchandising
Raymark Affinity Merchandising
 
Bi presentation to bkk
Bi presentation to bkkBi presentation to bkk
Bi presentation to bkk
 
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
 
"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
 
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
 
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
 
Magento BI
Magento BIMagento BI
Magento BI
 
ITMAGINATION - competences, facts, technologies, clients
ITMAGINATION - competences, facts, technologies, clientsITMAGINATION - competences, facts, technologies, clients
ITMAGINATION - competences, facts, technologies, clients
 
Introduction to Business Intelligence
Introduction to Business IntelligenceIntroduction to Business Intelligence
Introduction to Business Intelligence
 
Tools and techniques for predictive analytics
Tools and techniques for predictive analyticsTools and techniques for predictive analytics
Tools and techniques for predictive analytics
 
Onomi - MongoDB Introduction
Onomi - MongoDB IntroductionOnomi - MongoDB Introduction
Onomi - MongoDB Introduction
 
Microsoft business intelligence
Microsoft business intelligenceMicrosoft business intelligence
Microsoft business intelligence
 
Maximize Market Share with Micro Merchandising
Maximize Market Share with Micro MerchandisingMaximize Market Share with Micro Merchandising
Maximize Market Share with Micro Merchandising
 

Destaque

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 PlatformAmandaMulquiney
 
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 ScaleWP 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 2012Ecommerce Solution Provider SysIQ
 
Гибкость и Структурированность Oбъектно Oриентированноя CSS
Гибкость и Структурированность Oбъектно Oриентированноя CSSГибкость и Структурированность Oбъектно Oриентированноя CSS
Гибкость и Структурированность Oбъектно Oриентированноя CSSEcommerce Solution Provider SysIQ
 
Модульные сетки в реальном мире - IQLab Frontend Fusion 2012
Модульные сетки в реальном мире - IQLab Frontend Fusion 2012Модульные сетки в реальном мире - IQLab Frontend Fusion 2012
Модульные сетки в реальном мире - IQLab Frontend Fusion 2012Ecommerce Solution Provider SysIQ
 

Destaque (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
 
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
 
Доступность веб-сайтов: WWW для всех?
Доступность веб-сайтов: WWW для всех?Доступность веб-сайтов: WWW для всех?
Доступность веб-сайтов: WWW для всех?
 
Speed Up Your Website
Speed Up Your WebsiteSpeed Up Your Website
Speed Up Your Website
 
Mastering Java ByteCode
Mastering Java ByteCodeMastering Java ByteCode
Mastering Java ByteCode
 
Management and Communications (IPAA)
Management and Communications (IPAA)Management and Communications (IPAA)
Management and Communications (IPAA)
 
Unexpected achievements 2013
Unexpected achievements 2013Unexpected achievements 2013
Unexpected achievements 2013
 
Going global
Going globalGoing global
Going global
 
Getting to know magento
Getting to know magentoGetting to know magento
Getting to know magento
 
QA evolution, in pictures
QA evolution, in picturesQA evolution, in pictures
QA evolution, in pictures
 
Developing for e commerce is important
Developing for e commerce is importantDeveloping for e commerce is important
Developing for e commerce is important
 
QA evolution to the present day
QA evolution to the present dayQA evolution to the present day
QA evolution to the present day
 
Психология восприятия и UX дизайн
Психология восприятия и UX дизайнПсихология восприятия и UX дизайн
Психология восприятия и UX дизайн
 
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
 
All things php
All things phpAll things php
All things php
 
Эффективный JavaScript - IQLab Frontend Fusion 2012
Эффективный  JavaScript - IQLab Frontend Fusion 2012Эффективный  JavaScript - IQLab Frontend Fusion 2012
Эффективный JavaScript - IQLab Frontend Fusion 2012
 
non-blocking java script
non-blocking java scriptnon-blocking java script
non-blocking java script
 
Гибкость и Структурированность Oбъектно Oриентированноя CSS
Гибкость и Структурированность Oбъектно Oриентированноя CSSГибкость и Структурированность Oбъектно Oриентированноя CSS
Гибкость и Структурированность Oбъектно Oриентированноя CSS
 
Модульные сетки в реальном мире - IQLab Frontend Fusion 2012
Модульные сетки в реальном мире - IQLab Frontend Fusion 2012Модульные сетки в реальном мире - IQLab Frontend Fusion 2012
Модульные сетки в реальном мире - IQLab Frontend Fusion 2012
 
Databases on Client Side
Databases on Client SideDatabases on Client Side
Databases on Client Side
 

Semelhante a Scalability and performance for e commerce

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 AutomationFishbowl 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 PerformanceBrian 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 gotchaphegaro
 
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 PerformanceBrian 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 sourceTerry 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 WebsiteAcquia
 
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 ArchitectureAshwini 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 applicationsTalbott 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 2013Fishbowl 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'entrepriseRubedo, 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_FarmNigel 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 KuzniakAEM HUB
 

Semelhante a Scalability and performance for e commerce (20)

Web Performance Optimization (WPO)
Web Performance Optimization (WPO)Web Performance Optimization (WPO)
Web Performance Optimization (WPO)
 
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
 
Boost the Performance of SharePoint Today!
Boost the Performance of SharePoint Today!Boost the Performance of SharePoint Today!
Boost the Performance of SharePoint Today!
 
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...
 
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
 
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
 
Владимир Бронников (Senior .NET Developer, Perfectial) “Performance optimizat...
Владимир Бронников (Senior .NET Developer, Perfectial) “Performance optimizat...Владимир Бронников (Senior .NET Developer, Perfectial) “Performance optimizat...
Владимир Бронников (Senior .NET Developer, Perfectial) “Performance optimizat...
 
Mobile gotcha
Mobile gotchaMobile gotcha
Mobile gotcha
 
SharePoint Custom Development
SharePoint Custom DevelopmentSharePoint Custom Development
SharePoint Custom Development
 
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
 
Rzepnicki_thesis_presentation_2003(2) (1)
Rzepnicki_thesis_presentation_2003(2) (1)Rzepnicki_thesis_presentation_2003(2) (1)
Rzepnicki_thesis_presentation_2003(2) (1)
 
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
 
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
 
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...
 
Pros & Cons of Microservices Architecture
Pros & Cons of Microservices ArchitecturePros & Cons of Microservices Architecture
Pros & Cons of Microservices Architecture
 
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
 
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
 
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
 
How_To_Soup_Up_Your_Farm
How_To_Soup_Up_Your_FarmHow_To_Soup_Up_Your_Farm
How_To_Soup_Up_Your_Farm
 
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
 

Mais de Ecommerce Solution Provider SysIQ

Правила хорошего SEO тона в Frontend разработке
Правила хорошего SEO тона в Frontend разработкеПравила хорошего SEO тона в Frontend разработке
Правила хорошего SEO тона в Frontend разработкеEcommerce Solution Provider SysIQ
 

Mais de Ecommerce Solution Provider SysIQ (17)

Java serialization
Java serializationJava serialization
Java serialization
 
Developing for e commerce is important
Developing for e commerce is importantDeveloping for e commerce is important
Developing for e commerce is important
 
Magento code audit
Magento code auditMagento code audit
Magento code audit
 
User focused design
User focused designUser focused design
User focused design
 
Lupan big enterprise ecommerce fusion 2013
Lupan   big enterprise ecommerce fusion 2013Lupan   big enterprise ecommerce fusion 2013
Lupan big enterprise ecommerce fusion 2013
 
Going Global
Going GlobalGoing Global
Going Global
 
Quick Intro to Clean Coding
Quick Intro to Clean CodingQuick Intro to Clean Coding
Quick Intro to Clean Coding
 
Manifest of modern engineers
Manifest of modern engineersManifest of modern engineers
Manifest of modern engineers
 
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
 
Seo and Marketing Requirements in Web Architecture
Seo and Marketing Requirements in Web ArchitectureSeo and Marketing Requirements in Web Architecture
Seo and Marketing Requirements in Web Architecture
 
Testing schools overview
Testing schools overviewTesting schools overview
Testing schools overview
 
IGears: Template Architecture and Principles
IGears: Template Architecture and PrinciplesIGears: Template Architecture and Principles
IGears: Template Architecture and Principles
 
Interactive web prototyping
Interactive web prototypingInteractive web prototyping
Interactive web prototyping
 
Модульные сетки в реальном мире
Модульные сетки в реальном миреМодульные сетки в реальном мире
Модульные сетки в реальном мире
 
External Widgets Performance
External Widgets PerformanceExternal Widgets Performance
External Widgets Performance
 
Правила хорошего SEO тона в Frontend разработке
Правила хорошего SEO тона в Frontend разработкеПравила хорошего SEO тона в Frontend разработке
Правила хорошего SEO тона в Frontend разработке
 
Understanding Annotations in Java
Understanding Annotations in JavaUnderstanding Annotations in Java
Understanding Annotations in Java
 

Último

Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 

Último (20)

Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 

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?
  • 15.
  • 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) j.lewis@sysiq.com http://www.linkedin.com/pub/jerry-lewis/4/76a/686/