Your SlideShare is downloading. ×
Caching technology comparison
Caching technology comparison
Caching technology comparison
Caching technology comparison
Caching technology comparison
Caching technology comparison
Caching technology comparison
Caching technology comparison
Caching technology comparison
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Caching technology comparison


Published on

Dynacache and Data Replication Service vs Memcached

Dynacache and Data Replication Service vs Memcached

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide
  • Last update:
  • Transcript

    • 1.
        Caching Technologies for Java Applications
        Martin Presler-Marshall ICS Performance
    • 2.
      • General object cache attributes
      • 3. Memcached
      • 4. DistributedMap (part of Dynacache)
    • 5.
        General Object Cache Characteristics
      • An object cache is a Key-Value lookup table
        • Similar to java.util.Hashtable
      • Have configurable maximum sizes
        • May be configured number of cache entries or memory size
        • 6. Objects typically discarded on least-recently-used policy when cache is full
          • Some caches may offer other algorithms, such as priority-based schemes
      • Have configurable lifetimes per cache entry
        • Items are automatically discarded once lifetime is exceeded
    • 7. Overview: Cache Instances
      • A cache instance is a logical grouping of cache keys & values
      • 8. Identical keys in two separate cache instances do not collide
      • 9. Cache statistics can typically be monitored on an instance level
      • 10. Support for creating multiple instances varies by cache implementation
    • 11.
        Overview: Memcached
      • “ Free & open source, high-performance, distributed memory object caching system” (from
      • 12. Main components:
        • memcached server – standalone server storing cached items
          • Each cluster of servers is a single cache instance
          • 13. To run multiple instances, must run multiple servers on each node
        • memcached client software
          • Available for multiple programming languages
          • 14. Keys & values must be serialized, then transmitted over TCP/IP
      • Cluster design:
        • Client uses hashing algorithm to assign keys to servers
        • 15. Each key is cached on at most one server
        • 16. Explicit invalidations go only to the server which should store that key
    • 17.
        Overview: DistributedMap
      • Built-in component in WAS Network Deployment
        • Only available to Java clients
      • Content is cached in JVM memory
        • Cache operations are POJO calls
      • Multiple cache instances can be created simply
        • Each is treated separately for monitoring, synchronization, LRU and invalidation
      • Cluster design:
        • Cache keys may be cached in multiple nodes
        • 18. Explicit invalidation notifies peers to discard the cache key
        • 19. Option available to push entries to peers on cache insert
    • 20. Advantages: Dynacache
      • Fast cache operations - the key raison d'etre for a cache
        • Lookups through POJO calls - no network delays
        • 21. No serialization/ deserialization of keys and values – lower CPU consumption
      • Successful experience with many IBM products & customers
        • We know how to use it well
      • Mature, supported part of WAS
      • 22. Integration points: Extreme Scale, OpenJPA
      • Flexibility
        • Easy support for multiple cache instances
        • 23. Priority-based LRU algorithm
        • 24. Disk offload
      • Monitoring/management tools: (PMI, Mbean, Cache Monitor)
    • 25. Advantages: Memcached
      • Does not consume memory in Java heap
        • This is less important on a 64-bit JVM
        • 26. We've successfully run WAS apps with 6+GB heaps
      • Active community support
        • ...though available documentation is not great
      • Usable in Tomcat, WAS CE, php applications
      • 27. Used successfully by multiple public sites
      • Single instance of each cache key
        • No peer-to-peer traffic on invalidations
        • 28. A key inserted by one node is immediately available to all peers
          • Typically will increase hit rates
      • Cache size increases as nodes are added
      • 29. Free tools exist for monitoring
        • ...but somewhat hard to use
    • 30. Open Questions
      • Need some direct performance comparisons
        • Have done some limited benchmarking of memcached using various clients
        • 31. Small-scale (single server, small cachesize)
      • Monitor memcached servers in LotusLive performance environment
        • May provide useful data on memcached performance in a nearly-real-world use case