SlideShare ist ein Scribd-Unternehmen logo
1 von 44
Downloaden Sie, um offline zu lesen
Rob Brooks-Bilson | @styggiti | rob.brooks-bilson.com
cf.Objective() 2014
About Me
 Sr. Director at Amkor Technology
 Involved with ColdFusion for 18
years
 Author of the O’Reilly’s books:
Programming ColdFusion
Programming ColdFusion MX
 Adobe Community Professional
for ColdFusion
 Food Geek
 Bed Jumper
 Photographer
More ColdFusion Goodness
Agenda
What We’ll Cover And What We Wont…
 What is caching?
 What’s Ehcache?
 Caching tags and functions
 Any questions from Dan Wilson
 Disclaimer
 Caching Evolution in ColdFusion
 Scale Up vs. Scale Out
 Caching Architecture Review
 Replicated Cache
 BigMemory Go
 Distributed Cache
 Terracotta Management Console
Legal Mumbo Jumbo: The Disclaimer
 Much of what you’re about to see makes use of third-party libraries and
applications
 Some of it requires you to upgrade versions of libraries that ship with
ColdFusion
 There are bugs
 There are workarounds
 There is no official support from Adobe for much of what you’re about to
see
Ehcache Implementation : Caching Evolution
Core cache
Ehcache 1.6
9.0
 Page caching
 Fragment caching
 Caching objects and data
 ORM caching
 Improved Hibernate plug-in,
management, XA transactions,
write-behind, bulk load, …
 Snap-in support for
distributed caching, via easy
upgrade to Enterprise
Ehcache
Ehcache 2.0
9.1
 New and enhanced functions:
cacheGetSession,
cacheGetMetadata
 Support for new configuration
properties
 User-defined caches
 copyOnRead &copyOnWrite,
Explicit locking API, Nonstop
Cache, Cache Search
 New consistency modes:
Strong and Eventual
 Automatic Resource Control
Ehcache 2.5.1
10.0
 Application level caching
 Enhanced query cache
 Six New functions
 Cache region attribute in all
functions
Ehcache Implementation : Caching Evolution
 Fast restartability
 Terracotta Management
Console
Ehcache 2.6.6
11.0
 Bug fixes
 cacheRemove now takes an
array for ID
Ehcache 2.8.2
Current Version
Scale Up vs. Scale Out
ScaleUp
Scale Out
What about cost?
• Hardware
• Data center space
• Power
• Redundancy
• Software Licensing*
• Operations & Sysadmin
How does this change in the cloud?
More CPU
More RAM
More Machines
Caching Architectures
In-Process (L1 Cache)
 Operates in the same process
(JVM) as the application server
 Limited scalability for 32-bit
systems
 Must consider possible number of
cache variants
 Max JVM heap size
 Can fail-over to disk storage
 Fast
 Data/object serialization is not
required for memory based in-process
cache
JVM
ColdFusion
Cache
In-Process Cache
Caching Architectures
Out-of-Process (L2 Cache)
 Operates in its own process,
outside of the application
server’s JVM
 Highly scalable on both 32-bit
and 64-bit platforms
 Scale out
 Utilize spare memory throughout
the network
 Slower than in-process caching
 Data/objects must be
serialized/deserialized
JVM
ColdFusion
Cache
JVM
Cache
Out-of-Process Cache
10
Technology
Ehcache
 Java caching API
 In-process
 Open Source /
Commercial
 Built-in to
ColdFusion
BigMemory Go
 Off-heap memory
storage for the JVM
 Stand Alone
 Terracotta
Management
Console
 Commercial
Terracotta
 Distributed in-
memory caching
array
 Out-of-process
 Open Source no
longer supported
as of version 3.7.7
(Pairs with
Ehcache 2.6.8)
 Commercial: Part
of BigMemory
Max
BigMemory Max
 Off-heap memory
storage for the JVM
 Distributed
 Terracotta
Management
Console
 Commercial
Caching Architecture
Ehcache can be configured to run:
 Local: In-process (Ehcache [+
BigMemory Go])
 Replicated: In-process (Ehcache [+
BigMemory Go])
 Distributed: In-process and Out-of-
process (Ehcache + BigMemory Max)
ColdFusion
Server
Ehcache
ColdFusion
Server
Ehcache
JVM
JVM
ColdFusion
Server
Ehcache
ColdFusion
Server
Ehcache
JVM
JVM
RMI, JMS,
JGroups,
Terracotta
In-Process Cache
Replication
JVM
ColdFusion
Cache
In-Process Cache
JVM
ColdFusion
Cache
JVM
Cache
Out-of-Process Cache
To Help Avoid Confusion…
 Terracotta recently retired the Terracotta
Server and discontinued the free versions of
BigMemory Go and BigMemory Max
 To avoid confusion, keep this in mind:
 Ehcache = In-Process Java Caching API – Comes
built-in with ColdFusion
 BigMemory Go = Enterprise Ehcache + Off-Heap
Memory Storage for the JVM on a single server -
Commercial (90 day trial)
 BigMemory Max = Enterprise Ehcache + Off-Heap
Memory Storage for the JVM + Distributed In-
Memory Caching via the Terracotta Server Array –
Commercial (90 day trial)
Still Confused?
BigMemory Go BigMemory Max
Distributed in-memory data store No (standalone JVM) Yes
In-memory capacity Unlimited (limit based on license) Unlimited (limit based on license)
Number of BigMemory mirrored stripes supported N/A Unlimited (limit based on license)
Number of application clients supported N/A Unlimited (limit based on license)
Fast search Yes Yes
Configurable data consistency guarantees N/A Yes
Terracotta Management Console™ Yes Yes
Fast Restartable Store™ Yes Yes
BigMemory-Hadoop Connector support Yes
In-process off-heap storage Yes Yes
Advanced security (authentication/authorization) N/A Yes
Enterprise support Yes Yes
Cache Replication
Scalability: Cache Replication (Clustering)
 All supported cache types can be
replicated
 Each CF server in the cluster
maintains its own in-process cache
 Data is replicated among L1 caches
 Replication via RMI, JMS, JGroups
or Terracotta
 Synchronous or asynchronous
 Still hit JVM GC issues/limits
 Simple configuration via
ehcache.xml file
ColdFusion
Server
Ehcache
ColdFusion
Server
Ehcache
JVM
JVM
ColdFusion
Server
Ehcache
ColdFusion
Server
Ehcache
JVM
JVM
RMI, JMS,
JGroups,
Terracotta
In-Process Cache
Replication
20
Potential Replication Gotchas
 Synchronous vs. Asynchronous delivery
 Asynchronous replication is the fastest method
 Because it’s asynchronous the caller returns immediately
 Messages are placed in a queue and batched via RMI as they are processed
 Potential for data inconsistency exists
 Synchronous
 Removes potential for data inconsistency
 Slower operation as caller waits for replication to complete before returning
 Time To Idle
 Inconsistent with replicated caching
 Data on some nodes will live longer than on others due to cache usage patterns
 Do not use unless you don’t care about inconsistent data across cache nodes
Replicated Cache Config Per Node – Step 1
 Stop your ColdFusion Server
 /lib/{servername}/ehcache.xml
 Uncomment:
<cacheManagerPeerProviderFactory
class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory"
properties="peerDiscovery=automatic,
multicastGroupAddress=230.0.0.1,
multicastGroupPort=4446, timeToLive=1"
propertySeparator=","
/>
Replicated Cache Config Per Node – Step 2
<cacheManagerPeerListenerFactory
class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory"
properties="hostName=www1.foo.com, socketTimeoutMillis=120000"
propertySeparator=","
/>
<cache
name="myReplicatedCache"
maxElementsInMemory="5000"
eternal="false">
<cacheEventListenerFactory
class="net.sf.ehcache.distribution.RMICacheReplicatorFactory“
/>
</cache>
Replicated Cache
It’s Really That Easy!
*Don’t forget to restart ColdFusion
BigMemory Go
Problems with Application Scalability on the JVM
 Slow Applications lead to caching
 Large caches lead to latency from Garbage
Collection pauses
 GC pauses necessitate JVM tuning
 Application usage and data grows
 More caching is needed
 More JVM tuning is needed
 As cache size increases, more heap memory is used
 More heap memory usage results in unpredictable
and longer GC pauses
 Eventually you hit a wall
 Add more JVMs
 Increased deployment and management
complexity
 Tune! Tune! Tune!
The Problem with Memory and the JVM
 RAM is outpacing the JVM
 32GB is now fairly standard on most servers
 Amazon EC2 allows for up to 68.4GB
 Most of that memory is used inefficiently if it’s used at all
 Cached data ages differently than standard business objects
which can confuse the Java garbage collector
 The cache expiration determines when the data becomes garbage
 And then there's tuning…
GC Tuning – Need I Say More?
BigMemory to the Rescue
 Cache huge amounts of data with no GC pauses
 Easy to implement
 Pure Java implementation
 Works with all JVMs
 Works with both standalone and distributed caches
 No application code changes necessary to implement
 Avoid GC because of pauses
 Off heap store on direct memory buffers
 Use all available memory on your server (if you want to)
 1 million puts per second
 1 line of config to use it
 JVM doesn’t have to search for garbage because we already know when a cache item
needs to be thrown out (cache expiry)
Tiered Memory Store and BigMemory Architecture
Upgrade Ehcache and Install BigMemory Go
 BigMemory Go requires a newer
version of Ehcache
 Adobe doesn’t officially support
upgrading. Do so at your own risk!
 There’s currently a bug you need to
be aware of in CF 10 (as of updater
11):
 3339491: After upgrading Ehcache,
ehcache.xml is ignored. You’ll need to use
auth-ehcache.xml for now. (Marked as Fixed,
but not yet deployed in a hotfix)
60
Upgrade Ehcache and Install Big Memory: Step 1
 Stop your ColdFusion server
 Rename the following files in your servername/lib directory:
 ehcache-core-2.5.1.jar  ehcache-core-2.5.1.jar.original
 slf4j-api-1.5.6.jar slf4j-api-1.5.6.jar.original
 slf4j-log4j12-1.5.6.jar  slf4j-log4j12-1.5.6.jar.old
Upgrade Ehcache and Install Big Memory: Step 2
 Download BigMemory Trial (It will give you Max even if you select Go):
 http://terracotta.org/products/bigmemorygo
 Extract the following files into your servername/lib directory:
From /apis/ehcache/lib
ehcache-ee-<version>.jar
slf4j-api-<version>.jar
From /common/lib
bigmemory-<version>.jar
 Copy the terracotta-license.key file you received by email after downloading
BigMemory into your servername/lib directory
Upgrade Ehcache and Install Big Memory: Step 3
 Download the Slf4j version bundle that matches the version in your
BigMemory download from http://www.slf4j.org/dist/
 Extract the slf4j-log4j12-<version>.jar into your servername/lib directory
Upgrade Ehcache and Install Big Memory: Step 4
ehcache.xml (auth-cache.xml):
<cache name="sample-offheap-cache"
maxElementsInMemory="100000"
eternal="true"
memoryStoreEvictionPolicy="LRU"
overflowToOffHeap="true"
maxMemoryOffHeap="2G"/>
Start your ColdFusion server
JVM Config in ColdFusion Admin:
-XX:MaxDirectMemorySize=3G
Restart your ColdFusion server
ColdFusion Memory Footprint w/ BigMemory Go
Distributed Caching with BigMemory Max
Scalability: Distributed Tiered Caching with BigMemory Max
BigMemory Max
Scalability: Distributed Caching (Commercial)
 Commercial license
 Runs out-of-process
 Tiered caching
 Hottest data in L1 (< 1 μs access)
 Everything in L2 (< 2 ms access)
 "Snap-in scale"
 Works with single node Ehcache or
replicated Ehcache
 Simple config via ehcache.xml
 High data capacity: 2TB+
 Highly available
Enterprise
Ehcache
Terracotta
Server
Array
Terracotta
Server Array
ColdFusion
Enterprise
Ehcache
ColdFusion
…
Terracotta
Server
Array
Terracotta
Server Array
• Stop your ColdFusion server
• Rename the following files in your
servername/lib directory:
ehcache-core-2.5.1.jar  ehcache-core-
2.5.1.jar.original
slf4j-api-1.5.6.jar slf4j-api-1.5.6.jar.old
slf4j-log4j12-1.5.6.jar  slf4j-log4j12-1.5.6.jar.old
• Add the following jar files:
From apis/ehcache/lib
ehcache-ee-<version>.jar
slf4j-api-<version>.jar
From apis/toolkit/lib
terracotta-toolkit-runtime-ee-<version>.jar
Ehcache
Terracotta
Server
ColdFusion
Ehcache
ColdFusion
…
Distributed Cache Configuration: Step 1/3
Edit your ehcache.xml
<ehcache>
<terracottaConfig url="someserver:9510"/>
<defaultCache
maxElementsInMemory="10000"
timeToLiveSeconds="120“
overflowToOffHeap="true"
maxMemoryOffHeap="2G">
<terracotta clustered="true">
</defaultCache>
</ehcache>
Ehcache
Terracotta
Server
ColdFusion
Ehcache
ColdFusion
…
Distributed Cache Configuration: Step 2/3
Start ColdFusion
JVM Config in ColdFusion Admin:
-X:MaxDirectMemorySize=3G
Stop ColdFusion
Start the Terracotta server, then restart
ColdFusion
bin/start-tc-server.sh
bin/start-tc-server.bat
Ehcache
Terracotta
Server
ColdFusion
Ehcache
ColdFusion
…
Distributed Cache Configuration: Step 3/3
Terracotta Gotchas
 The Terracotta server must be running before you bring up your ColdFusion
server, otherwise your page request (that tries to do a cache operation) will
spin until the connection times out and an error is returned
 Terracotta can only be used with ColdFusion Enterprise. There’s a bug if you
try to use it with the Developer Edition where ColdFusion will return an error
telling you it’s an Enterprise Only feature.
Cache Monitoring
Installing the Terracotta Management Console
1. Ensure JAVA_HOME is set
2. Extract the BigMemory go files
3. Start the monitor server: /management-console/lib/start-tmc.bat
4. Configure ehcache (auth_cache.xml) and add monitoring line:
<managementRESTService enabled="true" bind="0.0.0.0:9888" />
5. Open the web browser to http://localhost:9889/tmc
Terracotta Management Console
Q&A
Rob Brooks-Bilson
Senior Director
1900 South Price Road
Chandler, AZ 85286
Tel (480) 786-7748
Fax (480) 821-9777
rbils@amkor.com
Twitter: @styggiti

Weitere ähnliche Inhalte

Was ist angesagt?

Automated vs manual testing
Automated vs manual testingAutomated vs manual testing
Automated vs manual testingKanoah
 
Functional Testing Tutorial | Edureka
Functional Testing Tutorial | EdurekaFunctional Testing Tutorial | Edureka
Functional Testing Tutorial | EdurekaEdureka!
 
test bank MANAGEMENT of INFORMATION SECURITY, Fifth Edition
test bank MANAGEMENT of INFORMATION SECURITY, Fifth Editiontest bank MANAGEMENT of INFORMATION SECURITY, Fifth Edition
test bank MANAGEMENT of INFORMATION SECURITY, Fifth Editionhusseinalshomali
 
ManageEngine ADAudit Plus
ManageEngine ADAudit PlusManageEngine ADAudit Plus
ManageEngine ADAudit PlusMajd Khriema
 
software testing methodologies
software testing methodologiessoftware testing methodologies
software testing methodologiesJhonny Jhon
 
Content testing
Content testingContent testing
Content testingAnkit Gujjar
 
Sap basis-training-material
Sap basis-training-materialSap basis-training-material
Sap basis-training-materialRaj p
 
Selenium WebDriver
Selenium WebDriverSelenium WebDriver
Selenium WebDriverRajathi-QA
 
B4 u solution_writing test cases from user stories and acceptance criteria
B4 u solution_writing test cases from user stories and acceptance criteriaB4 u solution_writing test cases from user stories and acceptance criteria
B4 u solution_writing test cases from user stories and acceptance criteriab4usolution .
 
Performance testing interview questions and answers
Performance testing interview questions and answersPerformance testing interview questions and answers
Performance testing interview questions and answersGaruda Trainings
 
Static Code Analysis
Static Code AnalysisStatic Code Analysis
Static Code AnalysisAnnyce Davis
 
Performance Testing
Performance TestingPerformance Testing
Performance Testingsharmaparish
 
virtual hosting and configuration
virtual hosting and configurationvirtual hosting and configuration
virtual hosting and configurationHAMZA AHMED
 
How to build a website
How to build a websiteHow to build a website
How to build a websiteBloxup
 
Chapter 02 compliance_law_and_ethics test bank MANAGEMENT of INFORMATION SECU...
Chapter 02 compliance_law_and_ethics test bank MANAGEMENT of INFORMATION SECU...Chapter 02 compliance_law_and_ethics test bank MANAGEMENT of INFORMATION SECU...
Chapter 02 compliance_law_and_ethics test bank MANAGEMENT of INFORMATION SECU...husseinalshomali
 
SSL Configuration within SAP HANA
SSL Configuration within SAP HANASSL Configuration within SAP HANA
SSL Configuration within SAP HANADebajit Banerjee
 
Infographic: Importance of Performance Testing
Infographic: Importance of Performance TestingInfographic: Importance of Performance Testing
Infographic: Importance of Performance TestingKiwiQA
 
Network security policies
Network security policiesNetwork security policies
Network security policiesUsman Mukhtar
 

Was ist angesagt? (20)

Automated vs manual testing
Automated vs manual testingAutomated vs manual testing
Automated vs manual testing
 
Functional Testing Tutorial | Edureka
Functional Testing Tutorial | EdurekaFunctional Testing Tutorial | Edureka
Functional Testing Tutorial | Edureka
 
test bank MANAGEMENT of INFORMATION SECURITY, Fifth Edition
test bank MANAGEMENT of INFORMATION SECURITY, Fifth Editiontest bank MANAGEMENT of INFORMATION SECURITY, Fifth Edition
test bank MANAGEMENT of INFORMATION SECURITY, Fifth Edition
 
ManageEngine ADAudit Plus
ManageEngine ADAudit PlusManageEngine ADAudit Plus
ManageEngine ADAudit Plus
 
software testing methodologies
software testing methodologiessoftware testing methodologies
software testing methodologies
 
Content testing
Content testingContent testing
Content testing
 
Sap basis-training-material
Sap basis-training-materialSap basis-training-material
Sap basis-training-material
 
Selenium WebDriver
Selenium WebDriverSelenium WebDriver
Selenium WebDriver
 
B4 u solution_writing test cases from user stories and acceptance criteria
B4 u solution_writing test cases from user stories and acceptance criteriaB4 u solution_writing test cases from user stories and acceptance criteria
B4 u solution_writing test cases from user stories and acceptance criteria
 
SAP Integration With Excel - Advanced Guide
SAP Integration With Excel - Advanced GuideSAP Integration With Excel - Advanced Guide
SAP Integration With Excel - Advanced Guide
 
5 Important Secure Coding Practices
5 Important Secure Coding Practices5 Important Secure Coding Practices
5 Important Secure Coding Practices
 
Performance testing interview questions and answers
Performance testing interview questions and answersPerformance testing interview questions and answers
Performance testing interview questions and answers
 
Static Code Analysis
Static Code AnalysisStatic Code Analysis
Static Code Analysis
 
Performance Testing
Performance TestingPerformance Testing
Performance Testing
 
virtual hosting and configuration
virtual hosting and configurationvirtual hosting and configuration
virtual hosting and configuration
 
How to build a website
How to build a websiteHow to build a website
How to build a website
 
Chapter 02 compliance_law_and_ethics test bank MANAGEMENT of INFORMATION SECU...
Chapter 02 compliance_law_and_ethics test bank MANAGEMENT of INFORMATION SECU...Chapter 02 compliance_law_and_ethics test bank MANAGEMENT of INFORMATION SECU...
Chapter 02 compliance_law_and_ethics test bank MANAGEMENT of INFORMATION SECU...
 
SSL Configuration within SAP HANA
SSL Configuration within SAP HANASSL Configuration within SAP HANA
SSL Configuration within SAP HANA
 
Infographic: Importance of Performance Testing
Infographic: Importance of Performance TestingInfographic: Importance of Performance Testing
Infographic: Importance of Performance Testing
 
Network security policies
Network security policiesNetwork security policies
Network security policies
 

Andere mochten auch

Scale ColdFusion with Terracotta Distributed Caching for Ehchache
Scale ColdFusion with Terracotta Distributed Caching for EhchacheScale ColdFusion with Terracotta Distributed Caching for Ehchache
Scale ColdFusion with Terracotta Distributed Caching for EhchacheColdFusionConference
 
Clustering Java applications with Terracotta and Hazelcast
Clustering Java applications with Terracotta and HazelcastClustering Java applications with Terracotta and Hazelcast
Clustering Java applications with Terracotta and Hazelcastb0ris_1
 
ColdFusion Features for More Modern Coding
ColdFusion Features for More Modern CodingColdFusion Features for More Modern Coding
ColdFusion Features for More Modern CodingColdFusionConference
 
Cold fusion Security-How to Secure Coldfusion Server
Cold fusion Security-How to Secure Coldfusion ServerCold fusion Security-How to Secure Coldfusion Server
Cold fusion Security-How to Secure Coldfusion ServerMindfire Solutions
 
Improve ColdFusion Performance by tuning the Connector and using ColdFusion-T...
Improve ColdFusion Performance by tuning the Connector and using ColdFusion-T...Improve ColdFusion Performance by tuning the Connector and using ColdFusion-T...
Improve ColdFusion Performance by tuning the Connector and using ColdFusion-T...ColdFusionConference
 
Exploring Terracotta
Exploring TerracottaExploring Terracotta
Exploring TerracottaAlex Miller
 
Terracotta Java Scalability - Stateless Versus Stateful Apps
Terracotta Java Scalability - Stateless Versus Stateful AppsTerracotta Java Scalability - Stateless Versus Stateful Apps
Terracotta Java Scalability - Stateless Versus Stateful AppsMatthew McCullough
 
Using NoSQL MongoDB with ColdFusion
Using NoSQL MongoDB with ColdFusionUsing NoSQL MongoDB with ColdFusion
Using NoSQL MongoDB with ColdFusionindiver
 
Caching reboot: javax.cache & Ehcache 3
Caching reboot: javax.cache & Ehcache 3Caching reboot: javax.cache & Ehcache 3
Caching reboot: javax.cache & Ehcache 3Louis Jacomet
 
Building High Scalability Apps With Terracotta
Building High Scalability Apps With TerracottaBuilding High Scalability Apps With Terracotta
Building High Scalability Apps With TerracottaDavid Reines
 
Scaling Your Cache And Caching At Scale
Scaling Your Cache And Caching At ScaleScaling Your Cache And Caching At Scale
Scaling Your Cache And Caching At ScaleAlex Miller
 
10 Reasons ColdFusion PDFs should rule the world
10 Reasons ColdFusion PDFs should rule the world10 Reasons ColdFusion PDFs should rule the world
10 Reasons ColdFusion PDFs should rule the worldColdFusionConference
 
Building ColdFusion And AngularJS Applications
Building ColdFusion And AngularJS ApplicationsBuilding ColdFusion And AngularJS Applications
Building ColdFusion And AngularJS ApplicationsColdFusionConference
 
Introduction to Terracotta
Introduction to TerracottaIntroduction to Terracotta
Introduction to TerracottaCris Holdorph
 
Become a Security Rockstar with ColdFusion 2016
Become a Security Rockstar with ColdFusion 2016Become a Security Rockstar with ColdFusion 2016
Become a Security Rockstar with ColdFusion 2016ColdFusionConference
 

Andere mochten auch (20)

Scale ColdFusion with Terracotta Distributed Caching for Ehchache
Scale ColdFusion with Terracotta Distributed Caching for EhchacheScale ColdFusion with Terracotta Distributed Caching for Ehchache
Scale ColdFusion with Terracotta Distributed Caching for Ehchache
 
Clustering Java applications with Terracotta and Hazelcast
Clustering Java applications with Terracotta and HazelcastClustering Java applications with Terracotta and Hazelcast
Clustering Java applications with Terracotta and Hazelcast
 
ColdFusion Features for More Modern Coding
ColdFusion Features for More Modern CodingColdFusion Features for More Modern Coding
ColdFusion Features for More Modern Coding
 
Cold fusion Security-How to Secure Coldfusion Server
Cold fusion Security-How to Secure Coldfusion ServerCold fusion Security-How to Secure Coldfusion Server
Cold fusion Security-How to Secure Coldfusion Server
 
Improve ColdFusion Performance by tuning the Connector and using ColdFusion-T...
Improve ColdFusion Performance by tuning the Connector and using ColdFusion-T...Improve ColdFusion Performance by tuning the Connector and using ColdFusion-T...
Improve ColdFusion Performance by tuning the Connector and using ColdFusion-T...
 
Caching Strategies
Caching StrategiesCaching Strategies
Caching Strategies
 
Exploring Terracotta
Exploring TerracottaExploring Terracotta
Exploring Terracotta
 
Terracotta Java Scalability - Stateless Versus Stateful Apps
Terracotta Java Scalability - Stateless Versus Stateful AppsTerracotta Java Scalability - Stateless Versus Stateful Apps
Terracotta Java Scalability - Stateless Versus Stateful Apps
 
Aop clustering
Aop clusteringAop clustering
Aop clustering
 
Using NoSQL MongoDB with ColdFusion
Using NoSQL MongoDB with ColdFusionUsing NoSQL MongoDB with ColdFusion
Using NoSQL MongoDB with ColdFusion
 
5 Reasons to Upgrade Ehcache to BigMemory Go
5 Reasons to Upgrade Ehcache to BigMemory Go5 Reasons to Upgrade Ehcache to BigMemory Go
5 Reasons to Upgrade Ehcache to BigMemory Go
 
Caching reboot: javax.cache & Ehcache 3
Caching reboot: javax.cache & Ehcache 3Caching reboot: javax.cache & Ehcache 3
Caching reboot: javax.cache & Ehcache 3
 
Building High Scalability Apps With Terracotta
Building High Scalability Apps With TerracottaBuilding High Scalability Apps With Terracotta
Building High Scalability Apps With Terracotta
 
Terracotta Hadoop & In-Memory Webcast
Terracotta Hadoop & In-Memory WebcastTerracotta Hadoop & In-Memory Webcast
Terracotta Hadoop & In-Memory Webcast
 
Scaling Your Cache And Caching At Scale
Scaling Your Cache And Caching At ScaleScaling Your Cache And Caching At Scale
Scaling Your Cache And Caching At Scale
 
10 Reasons ColdFusion PDFs should rule the world
10 Reasons ColdFusion PDFs should rule the world10 Reasons ColdFusion PDFs should rule the world
10 Reasons ColdFusion PDFs should rule the world
 
Building ColdFusion And AngularJS Applications
Building ColdFusion And AngularJS ApplicationsBuilding ColdFusion And AngularJS Applications
Building ColdFusion And AngularJS Applications
 
Introduction to Terracotta
Introduction to TerracottaIntroduction to Terracotta
Introduction to Terracotta
 
IOT, Streaming Analytics and Machine Learning
IOT, Streaming Analytics and Machine Learning IOT, Streaming Analytics and Machine Learning
IOT, Streaming Analytics and Machine Learning
 
Become a Security Rockstar with ColdFusion 2016
Become a Security Rockstar with ColdFusion 2016Become a Security Rockstar with ColdFusion 2016
Become a Security Rockstar with ColdFusion 2016
 

Ähnlich wie Advanced caching techniques with ehcache, big memory, terracotta, and coldfusion

Developing High Performance and Scalable ColdFusion Application Using Terraco...
Developing High Performance and Scalable ColdFusion Application Using Terraco...Developing High Performance and Scalable ColdFusion Application Using Terraco...
Developing High Performance and Scalable ColdFusion Application Using Terraco...ColdFusionConference
 
Developing High Performance and Scalable ColdFusion Applications Using Terrac...
Developing High Performance and Scalable ColdFusion Applications Using Terrac...Developing High Performance and Scalable ColdFusion Applications Using Terrac...
Developing High Performance and Scalable ColdFusion Applications Using Terrac...Shailendra Prasad
 
Jug Lugano - Scale over the limits
Jug Lugano - Scale over the limitsJug Lugano - Scale over the limits
Jug Lugano - Scale over the limitsDavide Carnevali
 
Scaling PHP apps
Scaling PHP appsScaling PHP apps
Scaling PHP appsMatteo Moretti
 
VMworld 2013: Extreme Performance Series: Storage in a Flash
VMworld 2013: Extreme Performance Series: Storage in a Flash VMworld 2013: Extreme Performance Series: Storage in a Flash
VMworld 2013: Extreme Performance Series: Storage in a Flash VMworld
 
Heapoff memory wtf
Heapoff memory wtfHeapoff memory wtf
Heapoff memory wtfOlivier Lamy
 
cache concepts and varnish-cache
cache concepts and varnish-cachecache concepts and varnish-cache
cache concepts and varnish-cacheMarc Cortinas Val
 
Joomla! Performance on Steroids
Joomla! Performance on SteroidsJoomla! Performance on Steroids
Joomla! Performance on SteroidsSiteGround.com
 
Introduction to memcached
Introduction to memcachedIntroduction to memcached
Introduction to memcachedJurriaan Persyn
 
Four Ways to Improve ASP .NET Performance and Scalability
 Four Ways to Improve ASP .NET Performance and Scalability Four Ways to Improve ASP .NET Performance and Scalability
Four Ways to Improve ASP .NET Performance and ScalabilityAlachisoft
 
Magento Imagine eCommerce Conference February 2011: Optimizing Magento For Pe...
Magento Imagine eCommerce Conference February 2011: Optimizing Magento For Pe...Magento Imagine eCommerce Conference February 2011: Optimizing Magento For Pe...
Magento Imagine eCommerce Conference February 2011: Optimizing Magento For Pe...varien
 
Magento's Imagine eCommerce Conference 2011 - Hosting Magento: Performance an...
Magento's Imagine eCommerce Conference 2011 - Hosting Magento: Performance an...Magento's Imagine eCommerce Conference 2011 - Hosting Magento: Performance an...
Magento's Imagine eCommerce Conference 2011 - Hosting Magento: Performance an...MagentoImagine
 
Caching with Memcached and APC
Caching with Memcached and APCCaching with Memcached and APC
Caching with Memcached and APCBen Ramsey
 
Lonestar php scalingmagento
Lonestar php scalingmagentoLonestar php scalingmagento
Lonestar php scalingmagentoMathew Beane
 
Xap memory xtend-tutorial-2014
Xap memory xtend-tutorial-2014Xap memory xtend-tutorial-2014
Xap memory xtend-tutorial-2014Shay Hassidim
 
Caching and tuning fun for high scalability
Caching and tuning fun for high scalabilityCaching and tuning fun for high scalability
Caching and tuning fun for high scalabilityWim Godden
 
ASP.NET 4.0 Cache Extensibility
ASP.NET 4.0 Cache ExtensibilityASP.NET 4.0 Cache Extensibility
ASP.NET 4.0 Cache Extensibilityakrakovetsky
 
Caching and tuning fun for high scalability @ FrOSCon 2011
Caching and tuning fun for high scalability @ FrOSCon 2011Caching and tuning fun for high scalability @ FrOSCon 2011
Caching and tuning fun for high scalability @ FrOSCon 2011Wim Godden
 
Caching your rails application
Caching your rails applicationCaching your rails application
Caching your rails applicationArrrrCamp
 

Ähnlich wie Advanced caching techniques with ehcache, big memory, terracotta, and coldfusion (20)

Developing High Performance and Scalable ColdFusion Application Using Terraco...
Developing High Performance and Scalable ColdFusion Application Using Terraco...Developing High Performance and Scalable ColdFusion Application Using Terraco...
Developing High Performance and Scalable ColdFusion Application Using Terraco...
 
Developing High Performance and Scalable ColdFusion Applications Using Terrac...
Developing High Performance and Scalable ColdFusion Applications Using Terrac...Developing High Performance and Scalable ColdFusion Applications Using Terrac...
Developing High Performance and Scalable ColdFusion Applications Using Terrac...
 
Mini-Training: To cache or not to cache
Mini-Training: To cache or not to cacheMini-Training: To cache or not to cache
Mini-Training: To cache or not to cache
 
Jug Lugano - Scale over the limits
Jug Lugano - Scale over the limitsJug Lugano - Scale over the limits
Jug Lugano - Scale over the limits
 
Scaling PHP apps
Scaling PHP appsScaling PHP apps
Scaling PHP apps
 
VMworld 2013: Extreme Performance Series: Storage in a Flash
VMworld 2013: Extreme Performance Series: Storage in a Flash VMworld 2013: Extreme Performance Series: Storage in a Flash
VMworld 2013: Extreme Performance Series: Storage in a Flash
 
Heapoff memory wtf
Heapoff memory wtfHeapoff memory wtf
Heapoff memory wtf
 
cache concepts and varnish-cache
cache concepts and varnish-cachecache concepts and varnish-cache
cache concepts and varnish-cache
 
Joomla! Performance on Steroids
Joomla! Performance on SteroidsJoomla! Performance on Steroids
Joomla! Performance on Steroids
 
Introduction to memcached
Introduction to memcachedIntroduction to memcached
Introduction to memcached
 
Four Ways to Improve ASP .NET Performance and Scalability
 Four Ways to Improve ASP .NET Performance and Scalability Four Ways to Improve ASP .NET Performance and Scalability
Four Ways to Improve ASP .NET Performance and Scalability
 
Magento Imagine eCommerce Conference February 2011: Optimizing Magento For Pe...
Magento Imagine eCommerce Conference February 2011: Optimizing Magento For Pe...Magento Imagine eCommerce Conference February 2011: Optimizing Magento For Pe...
Magento Imagine eCommerce Conference February 2011: Optimizing Magento For Pe...
 
Magento's Imagine eCommerce Conference 2011 - Hosting Magento: Performance an...
Magento's Imagine eCommerce Conference 2011 - Hosting Magento: Performance an...Magento's Imagine eCommerce Conference 2011 - Hosting Magento: Performance an...
Magento's Imagine eCommerce Conference 2011 - Hosting Magento: Performance an...
 
Caching with Memcached and APC
Caching with Memcached and APCCaching with Memcached and APC
Caching with Memcached and APC
 
Lonestar php scalingmagento
Lonestar php scalingmagentoLonestar php scalingmagento
Lonestar php scalingmagento
 
Xap memory xtend-tutorial-2014
Xap memory xtend-tutorial-2014Xap memory xtend-tutorial-2014
Xap memory xtend-tutorial-2014
 
Caching and tuning fun for high scalability
Caching and tuning fun for high scalabilityCaching and tuning fun for high scalability
Caching and tuning fun for high scalability
 
ASP.NET 4.0 Cache Extensibility
ASP.NET 4.0 Cache ExtensibilityASP.NET 4.0 Cache Extensibility
ASP.NET 4.0 Cache Extensibility
 
Caching and tuning fun for high scalability @ FrOSCon 2011
Caching and tuning fun for high scalability @ FrOSCon 2011Caching and tuning fun for high scalability @ FrOSCon 2011
Caching and tuning fun for high scalability @ FrOSCon 2011
 
Caching your rails application
Caching your rails applicationCaching your rails application
Caching your rails application
 

Mehr von ColdFusionConference

Building better SQL Server Databases
Building better SQL Server DatabasesBuilding better SQL Server Databases
Building better SQL Server DatabasesColdFusionConference
 
API Economy, Realizing the Business Value of APIs
API Economy, Realizing the Business Value of APIsAPI Economy, Realizing the Business Value of APIs
API Economy, Realizing the Business Value of APIsColdFusionConference
 
Crafting ColdFusion Applications like an Architect
Crafting ColdFusion Applications like an ArchitectCrafting ColdFusion Applications like an Architect
Crafting ColdFusion Applications like an ArchitectColdFusionConference
 
Security And Access Control For APIS using CF API Manager
Security And Access Control For APIS using CF API ManagerSecurity And Access Control For APIS using CF API Manager
Security And Access Control For APIS using CF API ManagerColdFusionConference
 
Monetizing Business Models: ColdFusion and APIS
Monetizing Business Models: ColdFusion and APISMonetizing Business Models: ColdFusion and APIS
Monetizing Business Models: ColdFusion and APISColdFusionConference
 
ColdFusion in Transit action
ColdFusion in Transit actionColdFusion in Transit action
ColdFusion in Transit actionColdFusionConference
 
Developer Insights for Application Upgrade to ColdFusion 2016
Developer Insights for Application Upgrade to ColdFusion 2016Developer Insights for Application Upgrade to ColdFusion 2016
Developer Insights for Application Upgrade to ColdFusion 2016ColdFusionConference
 
ColdFusion Keynote: Building the Agile Web Since 1995
ColdFusion Keynote: Building the Agile Web Since 1995ColdFusion Keynote: Building the Agile Web Since 1995
ColdFusion Keynote: Building the Agile Web Since 1995ColdFusionConference
 
Instant ColdFusion with Vagrant
Instant ColdFusion with VagrantInstant ColdFusion with Vagrant
Instant ColdFusion with VagrantColdFusionConference
 
Restful services with ColdFusion
Restful services with ColdFusionRestful services with ColdFusion
Restful services with ColdFusionColdFusionConference
 
Super Fast Application development with Mura CMS
Super Fast Application development with Mura CMSSuper Fast Application development with Mura CMS
Super Fast Application development with Mura CMSColdFusionConference
 
Build your own secure and real-time dashboard for mobile and web
Build your own secure and real-time dashboard for mobile and webBuild your own secure and real-time dashboard for mobile and web
Build your own secure and real-time dashboard for mobile and webColdFusionConference
 
Why Everyone else writes bad code
Why Everyone else writes bad codeWhy Everyone else writes bad code
Why Everyone else writes bad codeColdFusionConference
 
Rest ful tools for lazy experts
Rest ful tools for lazy expertsRest ful tools for lazy experts
Rest ful tools for lazy expertsColdFusionConference
 

Mehr von ColdFusionConference (20)

Api manager preconference
Api manager preconferenceApi manager preconference
Api manager preconference
 
Cf ppt vsr
Cf ppt vsrCf ppt vsr
Cf ppt vsr
 
Building better SQL Server Databases
Building better SQL Server DatabasesBuilding better SQL Server Databases
Building better SQL Server Databases
 
API Economy, Realizing the Business Value of APIs
API Economy, Realizing the Business Value of APIsAPI Economy, Realizing the Business Value of APIs
API Economy, Realizing the Business Value of APIs
 
Don't just pdf, Smart PDF
Don't just pdf, Smart PDFDon't just pdf, Smart PDF
Don't just pdf, Smart PDF
 
Crafting ColdFusion Applications like an Architect
Crafting ColdFusion Applications like an ArchitectCrafting ColdFusion Applications like an Architect
Crafting ColdFusion Applications like an Architect
 
Security And Access Control For APIS using CF API Manager
Security And Access Control For APIS using CF API ManagerSecurity And Access Control For APIS using CF API Manager
Security And Access Control For APIS using CF API Manager
 
Monetizing Business Models: ColdFusion and APIS
Monetizing Business Models: ColdFusion and APISMonetizing Business Models: ColdFusion and APIS
Monetizing Business Models: ColdFusion and APIS
 
ColdFusion in Transit action
ColdFusion in Transit actionColdFusion in Transit action
ColdFusion in Transit action
 
Developer Insights for Application Upgrade to ColdFusion 2016
Developer Insights for Application Upgrade to ColdFusion 2016Developer Insights for Application Upgrade to ColdFusion 2016
Developer Insights for Application Upgrade to ColdFusion 2016
 
Where is cold fusion headed
Where is cold fusion headedWhere is cold fusion headed
Where is cold fusion headed
 
ColdFusion Keynote: Building the Agile Web Since 1995
ColdFusion Keynote: Building the Agile Web Since 1995ColdFusion Keynote: Building the Agile Web Since 1995
ColdFusion Keynote: Building the Agile Web Since 1995
 
Instant ColdFusion with Vagrant
Instant ColdFusion with VagrantInstant ColdFusion with Vagrant
Instant ColdFusion with Vagrant
 
Restful services with ColdFusion
Restful services with ColdFusionRestful services with ColdFusion
Restful services with ColdFusion
 
Super Fast Application development with Mura CMS
Super Fast Application development with Mura CMSSuper Fast Application development with Mura CMS
Super Fast Application development with Mura CMS
 
Build your own secure and real-time dashboard for mobile and web
Build your own secure and real-time dashboard for mobile and webBuild your own secure and real-time dashboard for mobile and web
Build your own secure and real-time dashboard for mobile and web
 
Why Everyone else writes bad code
Why Everyone else writes bad codeWhy Everyone else writes bad code
Why Everyone else writes bad code
 
Securing applications
Securing applicationsSecuring applications
Securing applications
 
Testing automaton
Testing automatonTesting automaton
Testing automaton
 
Rest ful tools for lazy experts
Rest ful tools for lazy expertsRest ful tools for lazy experts
Rest ful tools for lazy experts
 

KĂźrzlich hochgeladen

Call Girls In Delhi Just Genuine Call ☎ 9311870488✅ Call Girls Vasant kunj Av...
Call Girls In Delhi Just Genuine Call ☎ 9311870488✅ Call Girls Vasant kunj Av...Call Girls In Delhi Just Genuine Call ☎ 9311870488✅ Call Girls Vasant kunj Av...
Call Girls In Delhi Just Genuine Call ☎ 9311870488✅ Call Girls Vasant kunj Av...callgirlsnewdelhi
 
Guwahati ❣️ Call Girl 97487*63073 Call Girls in Guwahati Escort service book now
Guwahati ❣️ Call Girl 97487*63073 Call Girls in Guwahati Escort service book nowGuwahati ❣️ Call Girl 97487*63073 Call Girls in Guwahati Escort service book now
Guwahati ❣️ Call Girl 97487*63073 Call Girls in Guwahati Escort service book nowapshanarani255
 
Nashik Call Girl 💋 9748763073 Call Girls in Nashik Escort service book now
Nashik Call Girl 💋 9748763073 Call Girls in Nashik Escort service book nowNashik Call Girl 💋 9748763073 Call Girls in Nashik Escort service book now
Nashik Call Girl 💋 9748763073 Call Girls in Nashik Escort service book nowapshanarani255
 
Lucknow ❣️ Call Girl 97487*63073 Call Girls in Lucknow Escort service book now
Lucknow ❣️  Call Girl 97487*63073 Call Girls in Lucknow Escort service book nowLucknow ❣️  Call Girl 97487*63073 Call Girls in Lucknow Escort service book now
Lucknow ❣️ Call Girl 97487*63073 Call Girls in Lucknow Escort service book nowapshanarani255
 
Shimla 💋 Call Girl 9748763073 Call Girls in Shimla Escort service book now
Shimla 💋  Call Girl 9748763073 Call Girls in Shimla Escort service book nowShimla 💋  Call Girl 9748763073 Call Girls in Shimla Escort service book now
Shimla 💋 Call Girl 9748763073 Call Girls in Shimla Escort service book nowapshanarani255
 
Kolkata 💋 Call Girl 9748763073 Call Girls in Kolkata Escort service book now
Kolkata 💋 Call Girl 9748763073 Call Girls in Kolkata Escort service book nowKolkata 💋 Call Girl 9748763073 Call Girls in Kolkata Escort service book now
Kolkata 💋 Call Girl 9748763073 Call Girls in Kolkata Escort service book nowapshanarani255
 
Call Girls In Saidpur Islamabad-->>03274100048 <<--
Call Girls In Saidpur Islamabad-->>03274100048 <<--Call Girls In Saidpur Islamabad-->>03274100048 <<--
Call Girls In Saidpur Islamabad-->>03274100048 <<--Ifra Zohaib
 
Kanpur 💋 Call Girls 7870993772 Call Girls in Kanpur Escort service book now
Kanpur 💋 Call Girls 7870993772 Call Girls in Kanpur Escort service book nowKanpur 💋 Call Girls 7870993772 Call Girls in Kanpur Escort service book now
Kanpur 💋 Call Girls 7870993772 Call Girls in Kanpur Escort service book nowapshanarani255
 
💚Call Girls Chandigarh 💯Riya 📲🔝8868886958🔝Call Girls In Chandigarh No💰Advance...
💚Call Girls Chandigarh 💯Riya 📲🔝8868886958🔝Call Girls In Chandigarh No💰Advance...💚Call Girls Chandigarh 💯Riya 📲🔝8868886958🔝Call Girls In Chandigarh No💰Advance...
💚Call Girls Chandigarh 💯Riya 📲🔝8868886958🔝Call Girls In Chandigarh No💰Advance...Sheetaleventcompany
 
Bhopal ❤CALL GIRL 9874883814 ❤CALL GIRLS IN Bhopal ESCORT SERVICE❤CALL GIRL I...
Bhopal ❤CALL GIRL 9874883814 ❤CALL GIRLS IN Bhopal ESCORT SERVICE❤CALL GIRL I...Bhopal ❤CALL GIRL 9874883814 ❤CALL GIRLS IN Bhopal ESCORT SERVICE❤CALL GIRL I...
Bhopal ❤CALL GIRL 9874883814 ❤CALL GIRLS IN Bhopal ESCORT SERVICE❤CALL GIRL I...oyomaster143
 
CALL GIRL JAMMU 9234842891 INDEPENDENT LOW PRICE JAMMU ESCORT SERVICE
CALL GIRL JAMMU 9234842891 INDEPENDENT LOW PRICE JAMMU ESCORT SERVICECALL GIRL JAMMU 9234842891 INDEPENDENT LOW PRICE JAMMU ESCORT SERVICE
CALL GIRL JAMMU 9234842891 INDEPENDENT LOW PRICE JAMMU ESCORT SERVICENiteshKumar82226
 
FARIDABAD CALL GIRL 7857803690 LOW PRICE ESCORT SERVICE
FARIDABAD CALL GIRL 7857803690  LOW PRICE  ESCORT SERVICEFARIDABAD CALL GIRL 7857803690  LOW PRICE  ESCORT SERVICE
FARIDABAD CALL GIRL 7857803690 LOW PRICE ESCORT SERVICEayushi9330
 
Pune ❤CALL GIRL 9874883814 ❤CALL GIRLS IN pune ESCORT SERVICE❤CALL GIRL IN We...
Pune ❤CALL GIRL 9874883814 ❤CALL GIRLS IN pune ESCORT SERVICE❤CALL GIRL IN We...Pune ❤CALL GIRL 9874883814 ❤CALL GIRLS IN pune ESCORT SERVICE❤CALL GIRL IN We...
Pune ❤CALL GIRL 9874883814 ❤CALL GIRLS IN pune ESCORT SERVICE❤CALL GIRL IN We...oyomaster143
 
Chennai ❣️ Call Girl 97487*63073 Call Girls in Chennai Escort service book now
Chennai ❣️ Call Girl 97487*63073 Call Girls in Chennai Escort service book nowChennai ❣️ Call Girl 97487*63073 Call Girls in Chennai Escort service book now
Chennai ❣️ Call Girl 97487*63073 Call Girls in Chennai Escort service book nowapshanarani255
 
Hyderabad ❣️ Call Girl 9748763073 Call Girls in Hyderabad Escort service boo...
Hyderabad ❣️  Call Girl 9748763073 Call Girls in Hyderabad Escort service boo...Hyderabad ❣️  Call Girl 9748763073 Call Girls in Hyderabad Escort service boo...
Hyderabad ❣️ Call Girl 9748763073 Call Girls in Hyderabad Escort service boo...apshanarani255
 
lahore night girls 👉03250114445 || girls for night in lahore
lahore night girls 👉03250114445 || girls for night in lahorelahore night girls 👉03250114445 || girls for night in lahore
lahore night girls 👉03250114445 || girls for night in lahoreDeny Daniel
 
Kota ❤CALL GIRL 9874883814 ❤CALL GIRLS IN kota ESCORT SERVICE❤CALL GIRL IN
Kota ❤CALL GIRL 9874883814 ❤CALL GIRLS IN kota ESCORT SERVICE❤CALL GIRL INKota ❤CALL GIRL 9874883814 ❤CALL GIRLS IN kota ESCORT SERVICE❤CALL GIRL IN
Kota ❤CALL GIRL 9874883814 ❤CALL GIRLS IN kota ESCORT SERVICE❤CALL GIRL INoyomaster143
 
Call Girls In {Laxmi Nagar Delhi}9667938988 Indian Russian Escort Service Ava...
Call Girls In {Laxmi Nagar Delhi}9667938988 Indian Russian Escort Service Ava...Call Girls In {Laxmi Nagar Delhi}9667938988 Indian Russian Escort Service Ava...
Call Girls In {Laxmi Nagar Delhi}9667938988 Indian Russian Escort Service Ava...aakahthapa70
 
Nagpur ❤CALL GIRL 9874883814 ❤CALL GIRLS IN nagpur ESCORT SERVICE❤CALL GIRL I...
Nagpur ❤CALL GIRL 9874883814 ❤CALL GIRLS IN nagpur ESCORT SERVICE❤CALL GIRL I...Nagpur ❤CALL GIRL 9874883814 ❤CALL GIRLS IN nagpur ESCORT SERVICE❤CALL GIRL I...
Nagpur ❤CALL GIRL 9874883814 ❤CALL GIRLS IN nagpur ESCORT SERVICE❤CALL GIRL I...oyomaster143
 
➥🔝9953056974 🔝▻ Anand Vihar Call-girl in Women Seeking Men 🔝Delhi🔝 NCR
➥🔝9953056974 🔝▻ Anand Vihar Call-girl in Women Seeking Men 🔝Delhi🔝 NCR➥🔝9953056974 🔝▻ Anand Vihar Call-girl in Women Seeking Men 🔝Delhi🔝 NCR
➥🔝9953056974 🔝▻ Anand Vihar Call-girl in Women Seeking Men 🔝Delhi🔝 NCR9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

KĂźrzlich hochgeladen (20)

Call Girls In Delhi Just Genuine Call ☎ 9311870488✅ Call Girls Vasant kunj Av...
Call Girls In Delhi Just Genuine Call ☎ 9311870488✅ Call Girls Vasant kunj Av...Call Girls In Delhi Just Genuine Call ☎ 9311870488✅ Call Girls Vasant kunj Av...
Call Girls In Delhi Just Genuine Call ☎ 9311870488✅ Call Girls Vasant kunj Av...
 
Guwahati ❣️ Call Girl 97487*63073 Call Girls in Guwahati Escort service book now
Guwahati ❣️ Call Girl 97487*63073 Call Girls in Guwahati Escort service book nowGuwahati ❣️ Call Girl 97487*63073 Call Girls in Guwahati Escort service book now
Guwahati ❣️ Call Girl 97487*63073 Call Girls in Guwahati Escort service book now
 
Nashik Call Girl 💋 9748763073 Call Girls in Nashik Escort service book now
Nashik Call Girl 💋 9748763073 Call Girls in Nashik Escort service book nowNashik Call Girl 💋 9748763073 Call Girls in Nashik Escort service book now
Nashik Call Girl 💋 9748763073 Call Girls in Nashik Escort service book now
 
Lucknow ❣️ Call Girl 97487*63073 Call Girls in Lucknow Escort service book now
Lucknow ❣️  Call Girl 97487*63073 Call Girls in Lucknow Escort service book nowLucknow ❣️  Call Girl 97487*63073 Call Girls in Lucknow Escort service book now
Lucknow ❣️ Call Girl 97487*63073 Call Girls in Lucknow Escort service book now
 
Shimla 💋 Call Girl 9748763073 Call Girls in Shimla Escort service book now
Shimla 💋  Call Girl 9748763073 Call Girls in Shimla Escort service book nowShimla 💋  Call Girl 9748763073 Call Girls in Shimla Escort service book now
Shimla 💋 Call Girl 9748763073 Call Girls in Shimla Escort service book now
 
Kolkata 💋 Call Girl 9748763073 Call Girls in Kolkata Escort service book now
Kolkata 💋 Call Girl 9748763073 Call Girls in Kolkata Escort service book nowKolkata 💋 Call Girl 9748763073 Call Girls in Kolkata Escort service book now
Kolkata 💋 Call Girl 9748763073 Call Girls in Kolkata Escort service book now
 
Call Girls In Saidpur Islamabad-->>03274100048 <<--
Call Girls In Saidpur Islamabad-->>03274100048 <<--Call Girls In Saidpur Islamabad-->>03274100048 <<--
Call Girls In Saidpur Islamabad-->>03274100048 <<--
 
Kanpur 💋 Call Girls 7870993772 Call Girls in Kanpur Escort service book now
Kanpur 💋 Call Girls 7870993772 Call Girls in Kanpur Escort service book nowKanpur 💋 Call Girls 7870993772 Call Girls in Kanpur Escort service book now
Kanpur 💋 Call Girls 7870993772 Call Girls in Kanpur Escort service book now
 
💚Call Girls Chandigarh 💯Riya 📲🔝8868886958🔝Call Girls In Chandigarh No💰Advance...
💚Call Girls Chandigarh 💯Riya 📲🔝8868886958🔝Call Girls In Chandigarh No💰Advance...💚Call Girls Chandigarh 💯Riya 📲🔝8868886958🔝Call Girls In Chandigarh No💰Advance...
💚Call Girls Chandigarh 💯Riya 📲🔝8868886958🔝Call Girls In Chandigarh No💰Advance...
 
Bhopal ❤CALL GIRL 9874883814 ❤CALL GIRLS IN Bhopal ESCORT SERVICE❤CALL GIRL I...
Bhopal ❤CALL GIRL 9874883814 ❤CALL GIRLS IN Bhopal ESCORT SERVICE❤CALL GIRL I...Bhopal ❤CALL GIRL 9874883814 ❤CALL GIRLS IN Bhopal ESCORT SERVICE❤CALL GIRL I...
Bhopal ❤CALL GIRL 9874883814 ❤CALL GIRLS IN Bhopal ESCORT SERVICE❤CALL GIRL I...
 
CALL GIRL JAMMU 9234842891 INDEPENDENT LOW PRICE JAMMU ESCORT SERVICE
CALL GIRL JAMMU 9234842891 INDEPENDENT LOW PRICE JAMMU ESCORT SERVICECALL GIRL JAMMU 9234842891 INDEPENDENT LOW PRICE JAMMU ESCORT SERVICE
CALL GIRL JAMMU 9234842891 INDEPENDENT LOW PRICE JAMMU ESCORT SERVICE
 
FARIDABAD CALL GIRL 7857803690 LOW PRICE ESCORT SERVICE
FARIDABAD CALL GIRL 7857803690  LOW PRICE  ESCORT SERVICEFARIDABAD CALL GIRL 7857803690  LOW PRICE  ESCORT SERVICE
FARIDABAD CALL GIRL 7857803690 LOW PRICE ESCORT SERVICE
 
Pune ❤CALL GIRL 9874883814 ❤CALL GIRLS IN pune ESCORT SERVICE❤CALL GIRL IN We...
Pune ❤CALL GIRL 9874883814 ❤CALL GIRLS IN pune ESCORT SERVICE❤CALL GIRL IN We...Pune ❤CALL GIRL 9874883814 ❤CALL GIRLS IN pune ESCORT SERVICE❤CALL GIRL IN We...
Pune ❤CALL GIRL 9874883814 ❤CALL GIRLS IN pune ESCORT SERVICE❤CALL GIRL IN We...
 
Chennai ❣️ Call Girl 97487*63073 Call Girls in Chennai Escort service book now
Chennai ❣️ Call Girl 97487*63073 Call Girls in Chennai Escort service book nowChennai ❣️ Call Girl 97487*63073 Call Girls in Chennai Escort service book now
Chennai ❣️ Call Girl 97487*63073 Call Girls in Chennai Escort service book now
 
Hyderabad ❣️ Call Girl 9748763073 Call Girls in Hyderabad Escort service boo...
Hyderabad ❣️  Call Girl 9748763073 Call Girls in Hyderabad Escort service boo...Hyderabad ❣️  Call Girl 9748763073 Call Girls in Hyderabad Escort service boo...
Hyderabad ❣️ Call Girl 9748763073 Call Girls in Hyderabad Escort service boo...
 
lahore night girls 👉03250114445 || girls for night in lahore
lahore night girls 👉03250114445 || girls for night in lahorelahore night girls 👉03250114445 || girls for night in lahore
lahore night girls 👉03250114445 || girls for night in lahore
 
Kota ❤CALL GIRL 9874883814 ❤CALL GIRLS IN kota ESCORT SERVICE❤CALL GIRL IN
Kota ❤CALL GIRL 9874883814 ❤CALL GIRLS IN kota ESCORT SERVICE❤CALL GIRL INKota ❤CALL GIRL 9874883814 ❤CALL GIRLS IN kota ESCORT SERVICE❤CALL GIRL IN
Kota ❤CALL GIRL 9874883814 ❤CALL GIRLS IN kota ESCORT SERVICE❤CALL GIRL IN
 
Call Girls In {Laxmi Nagar Delhi}9667938988 Indian Russian Escort Service Ava...
Call Girls In {Laxmi Nagar Delhi}9667938988 Indian Russian Escort Service Ava...Call Girls In {Laxmi Nagar Delhi}9667938988 Indian Russian Escort Service Ava...
Call Girls In {Laxmi Nagar Delhi}9667938988 Indian Russian Escort Service Ava...
 
Nagpur ❤CALL GIRL 9874883814 ❤CALL GIRLS IN nagpur ESCORT SERVICE❤CALL GIRL I...
Nagpur ❤CALL GIRL 9874883814 ❤CALL GIRLS IN nagpur ESCORT SERVICE❤CALL GIRL I...Nagpur ❤CALL GIRL 9874883814 ❤CALL GIRLS IN nagpur ESCORT SERVICE❤CALL GIRL I...
Nagpur ❤CALL GIRL 9874883814 ❤CALL GIRLS IN nagpur ESCORT SERVICE❤CALL GIRL I...
 
➥🔝9953056974 🔝▻ Anand Vihar Call-girl in Women Seeking Men 🔝Delhi🔝 NCR
➥🔝9953056974 🔝▻ Anand Vihar Call-girl in Women Seeking Men 🔝Delhi🔝 NCR➥🔝9953056974 🔝▻ Anand Vihar Call-girl in Women Seeking Men 🔝Delhi🔝 NCR
➥🔝9953056974 🔝▻ Anand Vihar Call-girl in Women Seeking Men 🔝Delhi🔝 NCR
 

Advanced caching techniques with ehcache, big memory, terracotta, and coldfusion

  • 1. Rob Brooks-Bilson | @styggiti | rob.brooks-bilson.com cf.Objective() 2014
  • 2. About Me  Sr. Director at Amkor Technology  Involved with ColdFusion for 18 years  Author of the O’Reilly’s books: Programming ColdFusion Programming ColdFusion MX  Adobe Community Professional for ColdFusion  Food Geek  Bed Jumper  Photographer
  • 4. Agenda What We’ll Cover And What We Wont…  What is caching?  What’s Ehcache?  Caching tags and functions  Any questions from Dan Wilson  Disclaimer  Caching Evolution in ColdFusion  Scale Up vs. Scale Out  Caching Architecture Review  Replicated Cache  BigMemory Go  Distributed Cache  Terracotta Management Console
  • 5. Legal Mumbo Jumbo: The Disclaimer  Much of what you’re about to see makes use of third-party libraries and applications  Some of it requires you to upgrade versions of libraries that ship with ColdFusion  There are bugs  There are workarounds  There is no official support from Adobe for much of what you’re about to see
  • 6. Ehcache Implementation : Caching Evolution Core cache Ehcache 1.6 9.0  Page caching  Fragment caching  Caching objects and data  ORM caching  Improved Hibernate plug-in, management, XA transactions, write-behind, bulk load, …  Snap-in support for distributed caching, via easy upgrade to Enterprise Ehcache Ehcache 2.0 9.1  New and enhanced functions: cacheGetSession, cacheGetMetadata  Support for new configuration properties  User-defined caches  copyOnRead &copyOnWrite, Explicit locking API, Nonstop Cache, Cache Search  New consistency modes: Strong and Eventual  Automatic Resource Control Ehcache 2.5.1 10.0  Application level caching  Enhanced query cache  Six New functions  Cache region attribute in all functions
  • 7. Ehcache Implementation : Caching Evolution  Fast restartability  Terracotta Management Console Ehcache 2.6.6 11.0  Bug fixes  cacheRemove now takes an array for ID Ehcache 2.8.2 Current Version
  • 8. Scale Up vs. Scale Out ScaleUp Scale Out What about cost? • Hardware • Data center space • Power • Redundancy • Software Licensing* • Operations & Sysadmin How does this change in the cloud? More CPU More RAM More Machines
  • 9. Caching Architectures In-Process (L1 Cache)  Operates in the same process (JVM) as the application server  Limited scalability for 32-bit systems  Must consider possible number of cache variants  Max JVM heap size  Can fail-over to disk storage  Fast  Data/object serialization is not required for memory based in-process cache JVM ColdFusion Cache In-Process Cache
  • 10. Caching Architectures Out-of-Process (L2 Cache)  Operates in its own process, outside of the application server’s JVM  Highly scalable on both 32-bit and 64-bit platforms  Scale out  Utilize spare memory throughout the network  Slower than in-process caching  Data/objects must be serialized/deserialized JVM ColdFusion Cache JVM Cache Out-of-Process Cache 10
  • 11. Technology Ehcache  Java caching API  In-process  Open Source / Commercial  Built-in to ColdFusion BigMemory Go  Off-heap memory storage for the JVM  Stand Alone  Terracotta Management Console  Commercial Terracotta  Distributed in- memory caching array  Out-of-process  Open Source no longer supported as of version 3.7.7 (Pairs with Ehcache 2.6.8)  Commercial: Part of BigMemory Max BigMemory Max  Off-heap memory storage for the JVM  Distributed  Terracotta Management Console  Commercial
  • 12. Caching Architecture Ehcache can be configured to run:  Local: In-process (Ehcache [+ BigMemory Go])  Replicated: In-process (Ehcache [+ BigMemory Go])  Distributed: In-process and Out-of- process (Ehcache + BigMemory Max) ColdFusion Server Ehcache ColdFusion Server Ehcache JVM JVM ColdFusion Server Ehcache ColdFusion Server Ehcache JVM JVM RMI, JMS, JGroups, Terracotta In-Process Cache Replication JVM ColdFusion Cache In-Process Cache JVM ColdFusion Cache JVM Cache Out-of-Process Cache
  • 13. To Help Avoid Confusion…  Terracotta recently retired the Terracotta Server and discontinued the free versions of BigMemory Go and BigMemory Max  To avoid confusion, keep this in mind:  Ehcache = In-Process Java Caching API – Comes built-in with ColdFusion  BigMemory Go = Enterprise Ehcache + Off-Heap Memory Storage for the JVM on a single server - Commercial (90 day trial)  BigMemory Max = Enterprise Ehcache + Off-Heap Memory Storage for the JVM + Distributed In- Memory Caching via the Terracotta Server Array – Commercial (90 day trial)
  • 14. Still Confused? BigMemory Go BigMemory Max Distributed in-memory data store No (standalone JVM) Yes In-memory capacity Unlimited (limit based on license) Unlimited (limit based on license) Number of BigMemory mirrored stripes supported N/A Unlimited (limit based on license) Number of application clients supported N/A Unlimited (limit based on license) Fast search Yes Yes Configurable data consistency guarantees N/A Yes Terracotta Management Console™ Yes Yes Fast Restartable Store™ Yes Yes BigMemory-Hadoop Connector support Yes In-process off-heap storage Yes Yes Advanced security (authentication/authorization) N/A Yes Enterprise support Yes Yes
  • 16. Scalability: Cache Replication (Clustering)  All supported cache types can be replicated  Each CF server in the cluster maintains its own in-process cache  Data is replicated among L1 caches  Replication via RMI, JMS, JGroups or Terracotta  Synchronous or asynchronous  Still hit JVM GC issues/limits  Simple configuration via ehcache.xml file ColdFusion Server Ehcache ColdFusion Server Ehcache JVM JVM ColdFusion Server Ehcache ColdFusion Server Ehcache JVM JVM RMI, JMS, JGroups, Terracotta In-Process Cache Replication 20
  • 17. Potential Replication Gotchas  Synchronous vs. Asynchronous delivery  Asynchronous replication is the fastest method  Because it’s asynchronous the caller returns immediately  Messages are placed in a queue and batched via RMI as they are processed  Potential for data inconsistency exists  Synchronous  Removes potential for data inconsistency  Slower operation as caller waits for replication to complete before returning  Time To Idle  Inconsistent with replicated caching  Data on some nodes will live longer than on others due to cache usage patterns  Do not use unless you don’t care about inconsistent data across cache nodes
  • 18. Replicated Cache Config Per Node – Step 1  Stop your ColdFusion Server  /lib/{servername}/ehcache.xml  Uncomment: <cacheManagerPeerProviderFactory class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory" properties="peerDiscovery=automatic, multicastGroupAddress=230.0.0.1, multicastGroupPort=4446, timeToLive=1" propertySeparator="," />
  • 19. Replicated Cache Config Per Node – Step 2 <cacheManagerPeerListenerFactory class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory" properties="hostName=www1.foo.com, socketTimeoutMillis=120000" propertySeparator="," /> <cache name="myReplicatedCache" maxElementsInMemory="5000" eternal="false"> <cacheEventListenerFactory class="net.sf.ehcache.distribution.RMICacheReplicatorFactory“ /> </cache>
  • 20. Replicated Cache It’s Really That Easy! *Don’t forget to restart ColdFusion
  • 22. Problems with Application Scalability on the JVM  Slow Applications lead to caching  Large caches lead to latency from Garbage Collection pauses  GC pauses necessitate JVM tuning  Application usage and data grows  More caching is needed  More JVM tuning is needed  As cache size increases, more heap memory is used  More heap memory usage results in unpredictable and longer GC pauses  Eventually you hit a wall  Add more JVMs  Increased deployment and management complexity  Tune! Tune! Tune!
  • 23. The Problem with Memory and the JVM  RAM is outpacing the JVM  32GB is now fairly standard on most servers  Amazon EC2 allows for up to 68.4GB  Most of that memory is used inefficiently if it’s used at all  Cached data ages differently than standard business objects which can confuse the Java garbage collector  The cache expiration determines when the data becomes garbage  And then there's tuning…
  • 24. GC Tuning – Need I Say More?
  • 25. BigMemory to the Rescue  Cache huge amounts of data with no GC pauses  Easy to implement  Pure Java implementation  Works with all JVMs  Works with both standalone and distributed caches  No application code changes necessary to implement  Avoid GC because of pauses  Off heap store on direct memory buffers  Use all available memory on your server (if you want to)  1 million puts per second  1 line of config to use it  JVM doesn’t have to search for garbage because we already know when a cache item needs to be thrown out (cache expiry)
  • 26. Tiered Memory Store and BigMemory Architecture
  • 27. Upgrade Ehcache and Install BigMemory Go  BigMemory Go requires a newer version of Ehcache  Adobe doesn’t officially support upgrading. Do so at your own risk!  There’s currently a bug you need to be aware of in CF 10 (as of updater 11):  3339491: After upgrading Ehcache, ehcache.xml is ignored. You’ll need to use auth-ehcache.xml for now. (Marked as Fixed, but not yet deployed in a hotfix) 60
  • 28. Upgrade Ehcache and Install Big Memory: Step 1  Stop your ColdFusion server  Rename the following files in your servername/lib directory:  ehcache-core-2.5.1.jar  ehcache-core-2.5.1.jar.original  slf4j-api-1.5.6.jar slf4j-api-1.5.6.jar.original  slf4j-log4j12-1.5.6.jar  slf4j-log4j12-1.5.6.jar.old
  • 29. Upgrade Ehcache and Install Big Memory: Step 2  Download BigMemory Trial (It will give you Max even if you select Go):  http://terracotta.org/products/bigmemorygo  Extract the following files into your servername/lib directory: From /apis/ehcache/lib ehcache-ee-<version>.jar slf4j-api-<version>.jar From /common/lib bigmemory-<version>.jar  Copy the terracotta-license.key file you received by email after downloading BigMemory into your servername/lib directory
  • 30. Upgrade Ehcache and Install Big Memory: Step 3  Download the Slf4j version bundle that matches the version in your BigMemory download from http://www.slf4j.org/dist/  Extract the slf4j-log4j12-<version>.jar into your servername/lib directory
  • 31. Upgrade Ehcache and Install Big Memory: Step 4 ehcache.xml (auth-cache.xml): <cache name="sample-offheap-cache" maxElementsInMemory="100000" eternal="true" memoryStoreEvictionPolicy="LRU" overflowToOffHeap="true" maxMemoryOffHeap="2G"/> Start your ColdFusion server JVM Config in ColdFusion Admin: -XX:MaxDirectMemorySize=3G Restart your ColdFusion server
  • 32. ColdFusion Memory Footprint w/ BigMemory Go
  • 33. Distributed Caching with BigMemory Max
  • 34. Scalability: Distributed Tiered Caching with BigMemory Max
  • 36. Scalability: Distributed Caching (Commercial)  Commercial license  Runs out-of-process  Tiered caching  Hottest data in L1 (< 1 Îźs access)  Everything in L2 (< 2 ms access)  "Snap-in scale"  Works with single node Ehcache or replicated Ehcache  Simple config via ehcache.xml  High data capacity: 2TB+  Highly available Enterprise Ehcache Terracotta Server Array Terracotta Server Array ColdFusion Enterprise Ehcache ColdFusion … Terracotta Server Array Terracotta Server Array
  • 37. • Stop your ColdFusion server • Rename the following files in your servername/lib directory: ehcache-core-2.5.1.jar  ehcache-core- 2.5.1.jar.original slf4j-api-1.5.6.jar slf4j-api-1.5.6.jar.old slf4j-log4j12-1.5.6.jar  slf4j-log4j12-1.5.6.jar.old • Add the following jar files: From apis/ehcache/lib ehcache-ee-<version>.jar slf4j-api-<version>.jar From apis/toolkit/lib terracotta-toolkit-runtime-ee-<version>.jar Ehcache Terracotta Server ColdFusion Ehcache ColdFusion … Distributed Cache Configuration: Step 1/3
  • 38. Edit your ehcache.xml <ehcache> <terracottaConfig url="someserver:9510"/> <defaultCache maxElementsInMemory="10000" timeToLiveSeconds="120“ overflowToOffHeap="true" maxMemoryOffHeap="2G"> <terracotta clustered="true"> </defaultCache> </ehcache> Ehcache Terracotta Server ColdFusion Ehcache ColdFusion … Distributed Cache Configuration: Step 2/3
  • 39. Start ColdFusion JVM Config in ColdFusion Admin: -X:MaxDirectMemorySize=3G Stop ColdFusion Start the Terracotta server, then restart ColdFusion bin/start-tc-server.sh bin/start-tc-server.bat Ehcache Terracotta Server ColdFusion Ehcache ColdFusion … Distributed Cache Configuration: Step 3/3
  • 40. Terracotta Gotchas  The Terracotta server must be running before you bring up your ColdFusion server, otherwise your page request (that tries to do a cache operation) will spin until the connection times out and an error is returned  Terracotta can only be used with ColdFusion Enterprise. There’s a bug if you try to use it with the Developer Edition where ColdFusion will return an error telling you it’s an Enterprise Only feature.
  • 42. Installing the Terracotta Management Console 1. Ensure JAVA_HOME is set 2. Extract the BigMemory go files 3. Start the monitor server: /management-console/lib/start-tmc.bat 4. Configure ehcache (auth_cache.xml) and add monitoring line: <managementRESTService enabled="true" bind="0.0.0.0:9888" /> 5. Open the web browser to http://localhost:9889/tmc
  • 44. Q&A Rob Brooks-Bilson Senior Director 1900 South Price Road Chandler, AZ 85286 Tel (480) 786-7748 Fax (480) 821-9777 rbils@amkor.com Twitter: @styggiti