SlideShare a Scribd company logo
SAP hybris Knowledge
Transfer Sessions
Caching and Monitoring
Joe Huang
joe@1solution.com
Agenda
• Caching Areas
• Hybris Caching
• Eviction Policy
• Cache Region
• Performance Monitoring
• Monitoring Tools:
• Hybris Admin Console Monitoring Tools
• Third Party Monitoring Tools
Caching Areas
Browser Caching
CDN
• Content Distribution Networks (CDN) provide a distributed set of
proxy servers placed in multiple data centers across the internet.
• The Distributed Approach.
• Flexible control over content cacheability.
Varnish Caching
• It is HTTP accelerator know as caching HTTP reverse proxy
• Can be installed in front of hybris.
• Can be configured to cache contents (page fragments)
Web Server Caching Consideration
• Serve all static content from web server.
• Add header cache control in httpd.conf to cache static content:
• Header append Cache-Control public,max-age=600
• For detail configuration, refers to:
https://wiki.hybris.com/display/hybrisALF/Static+Content+Serving+fr
om+Apache
SAP hybris Caching
• Hybris Caching
• Hybris hAC Monitoring
Hybris Platform Cache
• What to be cached?
• Data
• Why need caching?
• Improves the performance
• When Data is Cached?
• Hybris Region Cache provides fine-grained control in cache configuration.
• When Data is Removed from Cache?
• When cache max out.
• When cache entry is not valid any more.
Hybris Caching
• Regions based cache
• By default: EHCache implementation of region.
• Provided: hybris implementation as an option (for backward compatibility)
• Each region is configurable:
• What types it’s caching
• The maximum size
• The eviction policy
• Each hybris model is cached
• Each FS query is cached
• Hint: avoid FS queries with small differences (e.g. with new Date())
• No master cache server
Cluster Communication
• Each cluster has its own cache
• Caches are invalidated either TCP(JGroups) or UDP network messaging
• Clustering methods (Jgroups leverage udp mcast -recommended )
• JGroups provides fastest communication (can be used on cloud)
Cluster Communication – continue
• Jgroups-based cluster implementation:
When Data Is Cached (and invalidated)
• Caching items:
• When calling flexible search or getters that refer to
ComposedTypes, the underlying data is returned from the
cache or, if not yet cached, first retrieved and then written to
the cache.
• When calling modelService.save, the cached value is
invalidated (and hence removed from the cache)
• Caching FlexibleSeach results:
• When executing FlexibleSearch query like: SELECT code FROM
Product the list of results is cached in the main cache.
• When a product is removed, then its item data and the cached
flexible search result for the above query are removed from
the cache.
Eviction policies
• First In, First Out (FIFO): Elements are evicted in the same order as
they come in. When a PUT call is made for a new element, and
assuming that the maximum limit is reached for the memory store,
the element that was placed first (First-In) in the store is the
candidate for eviction (First-Out).
• Least Frequently Used (LFU): For each GET call on the element the
number of hits is updated. When a PUT call is made for a new
element, and assuming that the maximum limit is reached for the
memory store, the element with least number of hits, the Less
Frequently Used element, is evicted.
Eviction policies - Continue
• Least Recently Used (LRU): The last used timestamp is updated when
an element is put into the cache or an element is retrieved from the
cache with a GET call.
How Data is Cached
• Region Cache – configurable
• Standard configuration:
Entity
Size:100,000
Eviction Stratagy: FIFO
Typesystem
Size:Unlimited
Eviction Stratagy: No
Query
Size:20,000
Eviction Stratagy: FIFO
Media
Size:500MB
Eviction Stratagy: LRU
Custom Caching Configuration
• Example:
Entity
Size:100,000
Eviction Stratagy: FIFO
Typesystem
Size:Unlimited
Eviction Stratagy: No
Query
Size:20,000
Eviction Stratagy: FIFO
Media
Size:500MB
Eviction Stratagy: LRU
Michillin
Size:20,000
Eviction Stratagy: LFU
GoodYear
Size:10,000
Eviction Stratagy: LRU
Create New Custom Cache Region
• In core extension spring xml.
• In core-cache.xml create new cache region bean.
• In core-cache.xml add new created cache region bean into the cache
region list.
• Access caching by using DefaultCacheController.
Caching Configuration
• To change preconfigured cache region settings, provide new values in
the local.properties for the preconfigured parameters:
Performance – What Can Effect Performance?
• Transaction volume
• Poor system design – architecture level and code level.
• Poor caching design/setting.
• Poor database performance – data model issue or transactional issue.
• Poor network performance.
• Poor integration design – caution on real-time backend system
integration.
• Check here for some typical hybris performance issues and solutions:
https://wiki.hybris.com/display/hybrisALF/Typical+Performance+Issue
s
Performance Monitoring
– Area to Monitor
• Database access monitoring, include transaction based access.
• Database connection.
• Memory usage.
• Load distribution.
• Caching usage.
Tools to using for Monitoring
• Hybris Admin Console (hAC)
• Third Party Application Monitoring Tools
• dynaTrace
• New Relic (cloud based SaaS)
• JMX
hAC Minitoring Tools
hAC Minitoring Tools - Home
hAC Minitoring Tools - Caching
hAC Minitoring Tools - Database
hAC Minitoring Tools -
hAC Minitoring Tools -
dynaTrace – Page Performance
dynaTrace – Database Performance
dynaTrace – Server Performance
dynaTrace – Web Request Distribution
dynaTrace – Solr Performance
Other Monitoring Tools
• New Relic – Cloud based monitoring tool
• JMX – Java Management Extension to expose various attributes
related to system properties, transactions, database statistics etc.
Question & Answer
Further Question or need a private session? Ask
joe@1solution.com

More Related Content

PPTX
Taking Splunk to the Next Level - Architecture Breakout Session
PPTX
Azure Data Factory
PPTX
Apache Superset - open source data exploration and visualization (Conclusion ...
PDF
Spark 의 핵심은 무엇인가? RDD! (RDD paper review)
PDF
Introduction to Apache NiFi dws19 DWS - DC 2019
PPT
An overview of snowflake
PPTX
Data pipeline and data lake
PDF
Taking Splunk to the Next Level - Architecture Breakout Session
Azure Data Factory
Apache Superset - open source data exploration and visualization (Conclusion ...
Spark 의 핵심은 무엇인가? RDD! (RDD paper review)
Introduction to Apache NiFi dws19 DWS - DC 2019
An overview of snowflake
Data pipeline and data lake

What's hot (20)

PDF
Simplify CDC Pipeline with Spark Streaming SQL and Delta Lake
PPTX
Tag based policies using Apache Atlas and Ranger
PPTX
Snowflake essentials
PPTX
Centralized Logging System Using ELK Stack
PDF
Azure Data Factory v2
PDF
An overview of Neo4j Internals
PPTX
Azure data platform overview
PDF
Databricks Delta Lake and Its Benefits
PPT
9. Document Oriented Databases
PPTX
Introduction to ML with Apache Spark MLlib
PDF
Modularized ETL Writing with Apache Spark
PDF
Introduction to Apache Sqoop
PPTX
Introduction to snowflake
PPTX
Learn Big Data & Hadoop
PPTX
Indexing with MongoDB
PDF
Designing ETL Pipelines with Structured Streaming and Delta Lake—How to Archi...
PDF
Hudi: Large-Scale, Near Real-Time Pipelines at Uber with Nishith Agarwal and ...
PPTX
Introduction to NOSQL databases
PPTX
Building a modern data warehouse
PDF
MongoDB World 2019: Becoming an Ops Manager Backup Superhero!
Simplify CDC Pipeline with Spark Streaming SQL and Delta Lake
Tag based policies using Apache Atlas and Ranger
Snowflake essentials
Centralized Logging System Using ELK Stack
Azure Data Factory v2
An overview of Neo4j Internals
Azure data platform overview
Databricks Delta Lake and Its Benefits
9. Document Oriented Databases
Introduction to ML with Apache Spark MLlib
Modularized ETL Writing with Apache Spark
Introduction to Apache Sqoop
Introduction to snowflake
Learn Big Data & Hadoop
Indexing with MongoDB
Designing ETL Pipelines with Structured Streaming and Delta Lake—How to Archi...
Hudi: Large-Scale, Near Real-Time Pipelines at Uber with Nishith Agarwal and ...
Introduction to NOSQL databases
Building a modern data warehouse
MongoDB World 2019: Becoming an Ops Manager Backup Superhero!
Ad

Viewers also liked (13)

PPTX
SAP hybris - User Account Management
PDF
Hybris integration solution pack
PPTX
Hybris Hackathon - Data Modeling
PPTX
Developing enterprise ecommerce solutions using hybris by Drazen Nikolic - Be...
PPTX
Hybris 6.0.0 to 6.3.0 comparision
PPTX
Achieve Digital Transformation with SAP Hybris Cloud for Service
PPTX
Discover the Power of Contextual Marketing
PDF
Hybris presenatation sydney
PPTX
Simplifying the Front Office with SAP Hybris Cloud for Sales Retail Execution
ODP
Hybris install telco accelerators on aws-ec2
PDF
B2B Magento vs. Hybris
PPTX
Sap hybris overview
PPTX
Deliver the Perfect Omnichannel Commerce Experience
SAP hybris - User Account Management
Hybris integration solution pack
Hybris Hackathon - Data Modeling
Developing enterprise ecommerce solutions using hybris by Drazen Nikolic - Be...
Hybris 6.0.0 to 6.3.0 comparision
Achieve Digital Transformation with SAP Hybris Cloud for Service
Discover the Power of Contextual Marketing
Hybris presenatation sydney
Simplifying the Front Office with SAP Hybris Cloud for Sales Retail Execution
Hybris install telco accelerators on aws-ec2
B2B Magento vs. Hybris
Sap hybris overview
Deliver the Perfect Omnichannel Commerce Experience
Ad

Similar to SAP hybris Caching and Monitoring (20)

PDF
Rails Caching: Secrets From the Edge
PDF
Rails Caching Secrets from the Edge
PPTX
Accelerating Rails with edge caching
PPTX
Sitecore Personalization on websites cached on CDN servers
PDF
Slides for the Apache Geode Hands-on Meetup and Hackathon Announcement
PDF
What's new in JBoss ON 3.2
PPT
7. Key-Value Databases: In Depth
PDF
Developing High Performance and Scalable ColdFusion Application Using Terraco...
PDF
Developing High Performance and Scalable ColdFusion Applications Using Terrac...
PDF
Inter connect2016 yss1841-cloud-storage-options-v4
PPTX
Mini-Training: To cache or not to cache
PPTX
MCSA 70-412 Chapter 02
PPTX
IBM Cloud Object Storage
PDF
OSMC 2016 | Monitor your Infrastructure with Elastic Beats by Monica Sarbu
PDF
OSMC 2016 - Monitor your infrastructure with Elastic Beats by Monica Sarbu
PPTX
Centralized log-management-with-elastic-stack
PPTX
What’s New in Assure MIMIX 10
PDF
Caching Data in OutSystems: A Tale of Gains Without Pain
PPTX
Training Webinar: Enterprise application performance with distributed caching
PDF
Adding real time reporting to your database oracle db in memory
Rails Caching: Secrets From the Edge
Rails Caching Secrets from the Edge
Accelerating Rails with edge caching
Sitecore Personalization on websites cached on CDN servers
Slides for the Apache Geode Hands-on Meetup and Hackathon Announcement
What's new in JBoss ON 3.2
7. Key-Value Databases: In Depth
Developing High Performance and Scalable ColdFusion Application Using Terraco...
Developing High Performance and Scalable ColdFusion Applications Using Terrac...
Inter connect2016 yss1841-cloud-storage-options-v4
Mini-Training: To cache or not to cache
MCSA 70-412 Chapter 02
IBM Cloud Object Storage
OSMC 2016 | Monitor your Infrastructure with Elastic Beats by Monica Sarbu
OSMC 2016 - Monitor your infrastructure with Elastic Beats by Monica Sarbu
Centralized log-management-with-elastic-stack
What’s New in Assure MIMIX 10
Caching Data in OutSystems: A Tale of Gains Without Pain
Training Webinar: Enterprise application performance with distributed caching
Adding real time reporting to your database oracle db in memory

Recently uploaded (20)

PDF
A novel scalable deep ensemble learning framework for big data classification...
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
WOOl fibre morphology and structure.pdf for textiles
PDF
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
Enhancing emotion recognition model for a student engagement use case through...
PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
PDF
NewMind AI Weekly Chronicles – August ’25 Week III
PDF
Getting Started with Data Integration: FME Form 101
PPTX
cloud_computing_Infrastucture_as_cloud_p
PPTX
TLE Review Electricity (Electricity).pptx
PDF
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
Hybrid model detection and classification of lung cancer
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
Web App vs Mobile App What Should You Build First.pdf
PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
PPTX
Final SEM Unit 1 for mit wpu at pune .pptx
PPTX
Modernising the Digital Integration Hub
A novel scalable deep ensemble learning framework for big data classification...
Programs and apps: productivity, graphics, security and other tools
WOOl fibre morphology and structure.pdf for textiles
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Enhancing emotion recognition model for a student engagement use case through...
A contest of sentiment analysis: k-nearest neighbor versus neural network
NewMind AI Weekly Chronicles – August ’25 Week III
Getting Started with Data Integration: FME Form 101
cloud_computing_Infrastucture_as_cloud_p
TLE Review Electricity (Electricity).pptx
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
NewMind AI Weekly Chronicles - August'25-Week II
Hybrid model detection and classification of lung cancer
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Web App vs Mobile App What Should You Build First.pdf
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
Final SEM Unit 1 for mit wpu at pune .pptx
Modernising the Digital Integration Hub

SAP hybris Caching and Monitoring

  • 1. SAP hybris Knowledge Transfer Sessions Caching and Monitoring Joe Huang joe@1solution.com
  • 2. Agenda • Caching Areas • Hybris Caching • Eviction Policy • Cache Region • Performance Monitoring • Monitoring Tools: • Hybris Admin Console Monitoring Tools • Third Party Monitoring Tools
  • 5. CDN • Content Distribution Networks (CDN) provide a distributed set of proxy servers placed in multiple data centers across the internet. • The Distributed Approach. • Flexible control over content cacheability.
  • 6. Varnish Caching • It is HTTP accelerator know as caching HTTP reverse proxy • Can be installed in front of hybris. • Can be configured to cache contents (page fragments)
  • 7. Web Server Caching Consideration • Serve all static content from web server. • Add header cache control in httpd.conf to cache static content: • Header append Cache-Control public,max-age=600 • For detail configuration, refers to: https://wiki.hybris.com/display/hybrisALF/Static+Content+Serving+fr om+Apache
  • 8. SAP hybris Caching • Hybris Caching • Hybris hAC Monitoring
  • 9. Hybris Platform Cache • What to be cached? • Data • Why need caching? • Improves the performance • When Data is Cached? • Hybris Region Cache provides fine-grained control in cache configuration. • When Data is Removed from Cache? • When cache max out. • When cache entry is not valid any more.
  • 10. Hybris Caching • Regions based cache • By default: EHCache implementation of region. • Provided: hybris implementation as an option (for backward compatibility) • Each region is configurable: • What types it’s caching • The maximum size • The eviction policy • Each hybris model is cached • Each FS query is cached • Hint: avoid FS queries with small differences (e.g. with new Date()) • No master cache server
  • 11. Cluster Communication • Each cluster has its own cache • Caches are invalidated either TCP(JGroups) or UDP network messaging • Clustering methods (Jgroups leverage udp mcast -recommended ) • JGroups provides fastest communication (can be used on cloud)
  • 12. Cluster Communication – continue • Jgroups-based cluster implementation:
  • 13. When Data Is Cached (and invalidated) • Caching items: • When calling flexible search or getters that refer to ComposedTypes, the underlying data is returned from the cache or, if not yet cached, first retrieved and then written to the cache. • When calling modelService.save, the cached value is invalidated (and hence removed from the cache) • Caching FlexibleSeach results: • When executing FlexibleSearch query like: SELECT code FROM Product the list of results is cached in the main cache. • When a product is removed, then its item data and the cached flexible search result for the above query are removed from the cache.
  • 14. Eviction policies • First In, First Out (FIFO): Elements are evicted in the same order as they come in. When a PUT call is made for a new element, and assuming that the maximum limit is reached for the memory store, the element that was placed first (First-In) in the store is the candidate for eviction (First-Out). • Least Frequently Used (LFU): For each GET call on the element the number of hits is updated. When a PUT call is made for a new element, and assuming that the maximum limit is reached for the memory store, the element with least number of hits, the Less Frequently Used element, is evicted.
  • 15. Eviction policies - Continue • Least Recently Used (LRU): The last used timestamp is updated when an element is put into the cache or an element is retrieved from the cache with a GET call.
  • 16. How Data is Cached • Region Cache – configurable • Standard configuration: Entity Size:100,000 Eviction Stratagy: FIFO Typesystem Size:Unlimited Eviction Stratagy: No Query Size:20,000 Eviction Stratagy: FIFO Media Size:500MB Eviction Stratagy: LRU
  • 17. Custom Caching Configuration • Example: Entity Size:100,000 Eviction Stratagy: FIFO Typesystem Size:Unlimited Eviction Stratagy: No Query Size:20,000 Eviction Stratagy: FIFO Media Size:500MB Eviction Stratagy: LRU Michillin Size:20,000 Eviction Stratagy: LFU GoodYear Size:10,000 Eviction Stratagy: LRU
  • 18. Create New Custom Cache Region • In core extension spring xml. • In core-cache.xml create new cache region bean. • In core-cache.xml add new created cache region bean into the cache region list. • Access caching by using DefaultCacheController.
  • 19. Caching Configuration • To change preconfigured cache region settings, provide new values in the local.properties for the preconfigured parameters:
  • 20. Performance – What Can Effect Performance? • Transaction volume • Poor system design – architecture level and code level. • Poor caching design/setting. • Poor database performance – data model issue or transactional issue. • Poor network performance. • Poor integration design – caution on real-time backend system integration. • Check here for some typical hybris performance issues and solutions: https://wiki.hybris.com/display/hybrisALF/Typical+Performance+Issue s
  • 21. Performance Monitoring – Area to Monitor • Database access monitoring, include transaction based access. • Database connection. • Memory usage. • Load distribution. • Caching usage.
  • 22. Tools to using for Monitoring • Hybris Admin Console (hAC) • Third Party Application Monitoring Tools • dynaTrace • New Relic (cloud based SaaS) • JMX
  • 25. hAC Minitoring Tools - Caching
  • 26. hAC Minitoring Tools - Database
  • 29. dynaTrace – Page Performance
  • 30. dynaTrace – Database Performance
  • 31. dynaTrace – Server Performance
  • 32. dynaTrace – Web Request Distribution
  • 33. dynaTrace – Solr Performance
  • 34. Other Monitoring Tools • New Relic – Cloud based monitoring tool • JMX – Java Management Extension to expose various attributes related to system properties, transactions, database statistics etc.
  • 35. Question & Answer Further Question or need a private session? Ask joe@1solution.com