`

Terracotta放弃Java垃圾回收机制,使用BigMemory

阅读更多

原文 http://qmkemail.iteye.com/admin/blogs/new

 

Terracotta Says 'Goodbye Java GC, Hello BigMemory

Java的垃圾回收机制一直是性能的瓶颈,而且限制内存的大小,Terracotta使用BigMemory替代JVM的GC,在ENcache中还是比较容易配置的。

Terracotta通过BigMemory分配了200G作为heap内存,没有遇到像Java GC对内存有2G限制的门槛,这是一大突破。

在当今内存越来越便宜情况下,原来超过2G的只能做多个JVM也就是分布式Java,现在不必了。

 

附:

Terracotta Says 'Goodbye Java GC, Hello BigMemory'

Last month, Terracotta told DZone that they were working on a module for Ehcache and Hibernate users that would bypass the Java garbage collection bottleneck.  The severely limited heap size allowed by the Java garbage collector (if you don't want to have significant performance issues) is a problem that has plagued the industry for years.  Terracotta believes that today's memory requirements are finally forcing many to address this issue , and now Terracotta has their own answer - BigMemory.  

DZone interviewed Terracotta CEO Amit Pandey about his company's solution to the GC problem in Java.  BigMemory is a snap-in module that provides off-heap memory storage.  It is a pure Java solution that works with all JVMs and bypasses the Java garbage collector.  You don't even need to be in distributed caching mode to use BigMemory, but it works with both standalone and distributed caches.  Like most Ehcache features, it requires only a few lines of configuration.  BigMemory can also handle hundreds of millions of objects.

Here are the two steps needed to implement BigMemory (when it is released) in Ehcache:

1. Update the Java classpath and startup arguments to include the new
ehcache-2.3 jar and allocate sufficient memory for the BigMemory off-heap
store.
 
2. Update the cache configuration in ehcache.xml to set the size of the
BigMemory off-heap store.
<ehcache>
        <cache name="mycache" maxElementsInMemory="10000"
overflowToOffHeap="true" maxMemoryOffHeap="4G"/>
</ehcache>


"People have been trying to make better garbage collectors for years and years.  Sun/Oracle have been putting a lot of money into solving this problem, but they're only getting incremental improvements."  Terracotta, Pandey says, is able to solve the problem more elegantly because they they "own the cache."  So they decided to write their own memory manager and bypass Java GC completely, freeing developers from difficult and time consuming GC tuning.

Currently in the late beta stages, Pandey told DZone that the responses to BigMemory were very positive from early beta users.  Testing of the memory manager revealed that the responses to increased memory were fast and flat, meaning that it could be counted on to meet performance requirements in a Service Level Agreement.  The greater memory utilization with BigMemory also allows server consolidation.

       App Latency Over Time


Terracotta has tested heap sizes up to 350GB without running into a wall like the 2GB threshold in Java GC.  Pandey says Terracotta is avoiding many of the problems (fragmentation, poor memory management techniques, etc.) that others have encountered when they tried to build their own memory manager.  Pandey says the tagline for BigMemory will be: "Use all the memory you need to get blazingly fast performance."
分享到:
评论

相关推荐

    使用terracotta进行web session 同步

    【标题】:“使用Terracotta进行Web Session同步” 在分布式Web应用环境中,用户会话(Session)的共享和同步是一个重要的挑战。Terracotta是一款开源软件,它提供了一种高效且可靠的解决方案,允许在集群环境中...

    Terracotta

    Terracotta是一种分布式内存管理和数据共享平台,其核心产品BigMemory Max旨在帮助应用程序实现数据在内存中的高效管理,尤其适用于分布式服务器环境。Terracotta的核心优势在于能够跨多台服务器提供统一的数据访问...

    terracotta-3.7.7.tar.gz

    通过将Java对象的状态存储在一个共享的内存空间(称为"BigMemory")中,Terracotta可以确保在集群中的所有服务器之间保持一致性和高可用性,特别适合处理session复制和负载均衡的需求。 **Tomcat Session集群** 在...

    使用terracotta实现session共享的证实实验

    ### 使用Terracotta实现Session共享的关键知识点 #### Terracotta简介 Terracotta是一种开源的分布式内存技术,它提供了一种简单有效的方式来管理和共享应用程序的数据。对于Java应用程序而言,Terracotta可以实现...

    terracotta

    Terracotta,作为一个专业级的分布式内存管理解决方案,是Java开发人员在构建大规模、高可用性应用时的重要工具。它通过提供一个统一的内存视图,使得多个服务器可以共享并操作相同的数据,从而实现数据的分布式处理...

    terracotta-ee-4.1.2.jar,terracotta-license.key

    Terracotta是一款强大的分布式内存管理工具,主要用于Java应用程序的集群化和数据共享。在这个场景中,我们关注的是Terracotta企业版(terracotta-ee)的4.1.2版本,以及与其配套的许可证文件(terracotta-license....

    通过_Terracotta实现基于Tomcat的Web应用集群

    为了便于使用Terracotta搭建Tomcat集群,Terracotta提供了一个名为“tim-tomcat”的插件。以下为搭建过程的具体步骤: 1. **准备环境** - **Apache Tomcat**:推荐使用Terracotta官方支持的版本,如Apache Tomcat...

    ehcache-terracotta代码配置

    当与Terracotta结合使用时,Ehcache可以实现分布式缓存,使得多台服务器上的应用可以共享同一份缓存数据,从而构建高可用的集群环境。在本篇中,我们将深入探讨如何在Java项目中配置Ehcache与Terracotta来实现这一...

    terracotta集群tomcat步骤

    Terracotta集群Tomcat的配置是一项复杂而关键的任务,它涉及到分布式系统中的高可用性和负载均衡。以下将详细解释这个过程中的各个步骤和相关知识点。 首先,安装Terracotta 3.2.1版本是非常基础的一步。需要注意的...

    Terracotta+tomcat集群配置详细说明(写了一晚上。。)

    总结,使用 Terracotta 与 Tomcat 集群相结合,可以创建出一个既具有高扩展性又具备高可用性的 Web 应用平台,解决了传统 session 管理方式的诸多问题。在实际部署中,开发者应根据具体业务需求和资源条件,合理选择...

    Ehcache 2.10.8(bigmemory-max-4.3.8.4.2.tar.gz)

    - Off-Heap存储:它允许将缓存数据存储在JVM堆外,避免了Java垃圾回收带来的开销,提升了性能。 - Terracotta集群集成:bigmemory-max集成了Terracotta服务器,可以实现跨节点的分布式缓存和数据同步。 4. 压缩包...

    ehcache-terracotta-2.4.5.jar

    ehcache-terracotta-2.4.5.jar,ehcache缓存所使用的JAR

    http://www.terracotta.org/

    Terracotta的技术栈包括了Ehcache、BigMemory以及分布式数据管理平台Quasar等,这些产品在Java开发领域有着广泛的应用。 描述中提到的博文链接 "https://balaschen.iteye.com/blog/82579" 可能是讨论如何使用或...

    Terracotta 3.2.1 英文文档(CHM)

    Terracotta 3.2.1 英文文档

    terracotta-ee-3.5.2

    terracotta-ee-3.5.2破解版

    terracotta license.key

    terracotta license.key ,

Global site tag (gtag.js) - Google Analytics