ehcache rmi_EhCache复制:RMI与JGroups

ehcache rmi

最近,我正在研究一种需要复制缓存的产品。 缓存提供程序已经确定-EhCache,剩下的就是有关传输的问题。 哪一个是最佳选择? 这里的最佳选择是指性能更好的选择。 仅在两个可用传输之间进行了性能评估-JGroups和RMI,对其他传输不予考虑。

在两个节点之间测试了复制。 主要目标是了解增加消息数据大小和消息总数如何影响性能。 另一个目标是找到复制性能真正变差的地方。 后者不是那么容易,因为测试使用的内存量有限,并且空闲内存空间的耗尽可能会导致性能不精简。 以下是用于运行测试的内存大小和软件版本:

  • 所有测试使用6GB的堆进行所有执行。
  • 测试在EhCache v.2.3.2上执行
  • JVM是Sun Java 1.6.0_21

测试本身非常简单。 一个节点将一定数量的具有一定大小的元素放入缓存中,另一节点则读取所有这些元素。 测试输出是读取所有元素所需的时间。 读取第一个元素后,计时器开始计时。

第一个测试为每个迭代创建10000个元素。 变量是消息大小,每次迭代增加两次。 在第一个迭代中,大小为1280字节,在最后一个迭代中为327680字节(320 Kb)。 这意味着具有10000个元素的最终迭代(每个大小为320 Kb)将传输大约3Gb的数据。 测试表明,EhCache可以很好地应对元素大小的增加,并且速度下降与传输数据的大小大致成比例,可以在图形上看到:

此处,y轴是传输所需的时间(以毫秒为单位),x轴是元素的大小。 无需多说。 RMI肯定比JGroups看起来更好。

在秒测试中,变量是元素数,元素的大小保持恒定并等于1280字节。 与之前的测试一样,每次迭代中消息的数量乘以2,而最终迭代中传输的数据量则相同,为3Gb。 下图显示了效果如何:

如上图所示,y轴是一次迭代转移所有元素所需的时间。 X轴是元素的数量。 同样,可以看出RMI是领导者。 我相信帽子JGroups在最新的迭代中大放异彩,这就是为什么它如此糟糕的原因。 这意味着JGroups每个元素具有更多的内存开销。 曾经有一次,谁不相信(我不会;))我的结果,想自己尝试,这里是资源和配置 。

而且,作为结论……嗯,RMI和JGroups都可以接受。 JGroups肯定会消耗更多的内存,这意味着使用JGroups处理大量数据可能会遇到问题。 另一方面,RMI使用TCP而不是UDP,因为RMI具有大量节点,可能会导致更高的网络负载。 不幸的是,该测试没有以任何方式涵盖后者,并且真正的影响尚不清楚。

参考: EhCache复制:RMI与JGroups。 从我们的JCG合作伙伴 Stanislav Kobylansky在Stas的博客博客中获得。


翻译自: https://www.javacodegeeks.com/2012/06/ehcache-replication-rmi-vs-jgroups.html

ehcache rmi

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/354557.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Element Table 可以实现哪些常见的有用的功能

最近项目中频繁使用 table 功能,因为 UI 框架使用的又是 Element UI,于是总结下在 Element 下 el-table 组件使用技巧。1.行背景色table 组件提供了 row-style 属性,说明:行的 style 的回调方法,也可以使用一个固定的 …

从0开始 Java实习 黑白棋

黑白棋的设计 代码如下: import java.util.*; public class Chess{char[][] chess new char[16][16];public static void main(String args[]){ Scanner in new Scanner(System.in);Chess ch new Chess();ch.init(); ch.output();int tag 0;int nn 0;wh…

如果在这样的环境中写代码,会不会很高效

桌面环境分享系列又来了。我会把平时看到的好的桌面布置分享给大家,帮助大家在桌面整理和打造方面提供一些新的想法和创意。如何评价一个开发桌面的好坏,首先一定要清爽整洁,该有的家伙事儿一定要有。不是要看上去要有多高大上,重…

为什么选择SpringBoot?

使用Spring MSpring进行许可是一种非常流行的基于Java的框架,用于构建Web和企业应用程序。 与许多其他只关注一个领域的框架不同,Spring框架通过其投资组合项目提供了广泛的功能来满足现代业务需求。 Spring框架提供了以多种方式(例如XML &a…

wamp2.5可用php5.6,局域网访问,多站点配置

1.用php5.6 直接下载个wamp3.0的,那里的php支持5.6,安装之后把php5.6的文件夹剪切到wamp2.5的放php的文件夹,然后wamp那里就有php5.6的选择了,选择后就可以用了 2.局域网访问 打开apache的配置文件,然后搜索Require lo…

Vue 页面如何监听用户预览时间

最近的业务中涉及到这样一个需求,在线培训的系统需要知道用户对某个在线预览的页面追踪用户的预览时长。初步我们首先想到借助 Vue 页面的生命周期函数 mounted 和 destroyed,分别在其中加入开始计时和清除计时的逻辑,通过后台的接口上报对应…

一个追求高效的学习者手机里装有哪些APP?(转)

转载:http://www.jianshu.com/p/f568c8d8b6bb 1、录音软件-Recordium 参加活动,如果不想错过活动现场的经常片段,速记又来不及,那就选择录音吧。小六之前都使用录音笔,但是自从有了这个APP之后,在开会&…

spring social_Spring Social入门

spring social像我一样,无论是添加简单的Facebook“赞”按钮,一大堆“共享”按钮还是显示时间轴信息,您都不会注意到当前对应用程序“社交化”的热衷。 每个人都在做这件事,包括Spring的家伙,事实上,他们提…

Vue 页面如何利用生命周期函数监听用户预览时长

最近的业务中涉及到这样一个需求,在线培训的系统需要知道用户对某个在线预览的页面追踪用户的预览时长。初步我们首先想到借助 Vue 页面的生命周期函数 mounted 和 destroyed,分别在其中加入开始计时和清除计时的逻辑,通过后台的接口上报对应…

iOS 11 UICollectionView顶部出现白色间隔的问题

iOS11 UICollectionView顶到屏幕顶端会出现一个20高度的白色间隔,是由于UICollectionView的自动调整功能为状态栏留出的位置 只需在创建UICollectionView时加入如下代码关闭自动调整: 该属性是iOS11新加入的,所以一定要在前面加上判断&#x…

项目中的富文本编辑器该如何选择?

项目中经常需要用到富文本编辑器的时候,而常见的富文本编辑器都有哪些?该如何选择? 先看看市面上都有哪些可用的富文本编辑器: TinyMCE(插件式的,支持 Vue,React,Angular 框架&…

根据自己的博客数据统计国内IT人群

装上百度统计有一段时间了,今天突然找出报表看看,发现一个很有意思的事情。访问来源TOP5依次是:北京,上海,深圳,杭州,广州 虽然大部分文章都是当时特别白的时候记录下来的遇到过的问题&#xff…

Vue刷新页面有哪几种方式

在Vue项目中,刷新当前页除了 window.reload(),你还能想到什么办法?而且这种办法会重新加载资源出现短暂的空白页面。体验不是很好。 在某个详情页面的时候,我们经常需要通过路由中的详情 id 去获取内容,当我们在不同的…

java web服务_将Java服务公开为Web服务

java web服务本教程解决了开发人员面临的最实际的情况。 大多数时候,我们可能需要将某些现有服务公开为Web服务。 在项目生命周期的不同阶段可能会遇到这种情况。 如果这是初始阶段,那么您几乎是安全的,您可以为此做好充分的准备。 但是&…

python文件打开方式详解——a、a+、r+、w+区别

第一步 排除文件打开方式错误:r只读,r读写,不创建w新建只写,w新建读写,二者都会将文件内容清零(以w方式打开,不能读出。w可读写)**w与r区别:r:可读可写&#…

程序员的工作周报该怎么写?

大多数公司都有写周报的要求,为什么要写周报?很多流于形式的周报,会让员工感到厌烦。特别是程序员,你让他写代码可以,写这种篇幅稍微大点的文字,简直要了他的命。周报作为一种文字载体,是下级向…

一个快速生成元素背景的 React 组件

在开发过程中,我们经常会遇到使用背景的地方,比如登录页面,用户信息页面,封面图…… 寻找契合业务主题的背景十分耗费精力,总觉得做的背景不合适,如果直接用图片呢,逻辑是比较简单,但…

引入ReactiveInflux:用于Scala和Java的无阻塞InfluxDB驱动程序,支持Apache Spark

我很高兴宣布Pygmalios开发的ReactiveInflux的第一个发行版。 InfluxDB错过了Scala和Java的非阻塞驱动程序。 不变性,可测试性和可扩展性是ReactiveInflux的关键功能。 加上对Apache Spark的支持,它是首选武器。 https://github.com/pygmalios/reactive…

python之路_前端基础之Bootstrap 组件

文档内容参考地址&#xff1a;http://v3.bootcss.com/components/ 一、图标 如下例&#xff0c;Star文本前有一个空格&#xff1a; <button type"button" class"btn btn-default btn-lg"><span class"glyphicon glyphicon-star" aria-h…

内卷之下,前端工程师如何自救

近两年的职场内卷现象越来越严重&#xff0c;996 工作制在各大公司已经很常见&#xff0c;甚至有更甚者&#xff0c;告诉你我们公司的前端是如何内卷的&#xff1f;为了数字化转型&#xff0c;公司要为产品平台化打造一个办公协同的在线管理系统&#xff0c;来规范化项目流程管…