EhCache复制:RMI与JGroups

最近,我正在研究一种需要复制缓存的产品。 缓存提供程序已经确定-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肯定会消耗更多的内存,这意味着使用它来处理大量数据可能会遇到问题。 另一方面,RMI使用TCP而不是UDP,因为RMI具有大量节点,可能会导致更高的网络负载。 不幸的是,该测试没有以任何方式涵盖后者,其实际影响尚不清楚。

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


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

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

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

相关文章

服务器wifi无线放大器,一回家WiFi信号太弱?教你用两毛钱制作信号放大器

原标题:一回家WiFi信号太弱?教你用两毛钱制作信号放大器现在家家户户都有无线路由器,但是大部分人都还是早期的单天线产品,信号覆盖范围比较小,特别是穿墙性能不行。人在客厅WiFi信号还满格,一到卧室就瞬间…

iOS开发 之 可穿戴设备 蓝牙4.0 BLE 开发

1 前言 当前有越来越多的可穿戴设备使用了蓝牙4.0 BLE(Bluetooth Low Energy)。对于iOS开发而言,Apple之前专门推出CoreBluetooth的Framework来支持BLE的开发。对于硬件开发有了解的朋友应该知道,在之前使用低版本的蓝牙的设备,要…

git服务器维护 备份,gitlab服务运维,备份与恢复 - 橙子柠檬's Blog

gitlab服务运维工作Gitlab-ctl 使用gitlab-ctl start #启动服务gitlab-ctl stop #停止服务gitlab-ctl restart #重启服务检查服务的日志信息gitlab-ctl tail redis #检查redis的日志gitlab-ctl tail postgresql #…

使用TestNG的弹簧测试支持

TestNG是一个测试框架,旨在涵盖所有类别的测试:单元,功能,端到端,集成等。 它包括许多功能,例如灵活的测试配置,对数据驱动测试的支持(使用DataProvider),强大…

Entity Framework - 理清关系 - 基于外键关联的单向一对一关系

注:本文针对的是 Entity Framework Code First 场景。 之前写过三篇文章试图理清Entity Framework中的一对一关系(单相思(单向一对一), 两情相悦(双向一对一), 两情相悦-续),但当时理…

微信社交小程序服务器,Day12-微信小程序实战-交友小程序-搭建服务器与上传文件到后端...

要搞一个小型的cms内容发布系统因为小程序上线之后,直接对数据库进行操作的话,慧出问题的,所以一般都会做一个管理系统,让工作人员通过这个管理系统来对这个数据库进行增删改查微信小程序其实给我们提供了这样的能力了(也就是可以…

文件共享服务器imac,iMac怎么在网络上共享设备windows文件夹和服务 | MOS86

本章通过向您展示如何在网络和Mac和Windows计算机之间共享文件,文件夹和设备,帮助您充分利用您的iMac网络连接。→使用Macs共享文件和文件夹使用AirDrop和文件共享→与Windows 7计算机共享文件→设置共享权限→使用共享表快速在线共享文件→共享和访问网…

【转】 简单理解Socket

题外话 前几天和朋友聊天,朋友问我怎么最近不写博客了,一个是因为最近在忙着公司使用的一些控件的开发,浏览器兼容性搞死人;但主要是因为这段时间一直在看html5的东西,看到web socket时觉得很有意思,动手写…

业务活动监视器(BAM)2.0带来的革命

生产兼具精益和企业价值的中间件是一项艰巨的工作。 它要么不存在,要么需要创新的思维(很多),并且需要在实现中反复进行。 业务风险很大,但是如果您做对了,它就会使您领先于其他任何公司。 这就是为什么我们…

oracle销售服务器吗,oracle 服务器 版本

oracle 服务器 版本 内容精选换一换Atlas 800 训练服务器(型号 9010)安装上架、服务器基础参数配置、安装操作系统等操作请参见《Atlas 800 训练服务器 用户指南 (型号9010)》。Atlas 800 训练服务器(型号 9010)适配操作系统如表1所示。请参考表2下载驱动和固件包。Atlas 800 训…

html 甘特图_Rplotly|交互式甘特图(Gantt chart)项目管理/学习计划

甘特图(Gantt chart),又常被称为横道图或者条状图,是现代企业项目管理领域运用最为广泛的一种图示。就是通过条形来显示项目的进度、时间安排等相关情况的。项目管理外,也可以用来管理学习计划。绘制甘特图的工具有很多,本文介绍使…

Oracle Coherence:分布式数据管理

本文介绍如何使用Oracle Coherence提供分布式(分区)数据管理。 在下面的示例应用程序中,创建了一个名为OTV的新集群,并且在该集群的两个成员之间分配了一个名为user-map的缓存对象。 二手技术: JDK 1.6.0_21 Maven的…

美团点评DBProxy读写分离使用说明

目的 因为业务架构上需要实现读写分离,刚好前段时间美团点评开源了在360Atlas基础上开发的读写分离中间件DBProxy,关于其介绍在官方文档已经有很详细的说明了,其特性主要有:读写分离、负载均衡、支持分表、IP过滤、sql语句黑名单、…

apriori算法c++_关联分析——基于Apriori算法实现

电子商务推荐系统主要是通过统计和挖掘技术,根据用户在网站上的行为,主动为用户提供推荐服务,从而提高网站体验。而根据不同的业务场景,推荐系统需要满足不同的推荐粒度,包括搜索推荐,商品类目推荐,商品标签推荐,店铺推…

在Oracle Coherence中分发Spring Bean

本文展示了如何通过使用Oracle Coherence中的EntryProcessor和可移植对象格式(POF)功能来分发Spring Bean。 Coherence通过EntryProcessor API支持无锁编程模型。 此功能通过减少网络访问并在条目上执行隐式的低级锁定来提高系统性能。 此隐式低级锁定功…

Apache Commons SCXML:有限状态机实现

本文提到有限状态机(FSM),SCXML(状态图可扩展标记语言)和Apache Common的SCXML库。 本文还提供了基本的ATM有限状态机示例代码。 有限状态机: 您可能还记得计算机科学课程中的有限状态机。 FSM用于设计计算…

pymol怎么做底物口袋表面_怎么从文献中发掘一篇新文章?

本文来自微信公众号:X-MOLNews可能你的导师也曾说过这样的话——盯着Nature、Science级别的文章做,可能最终会中十分的文章;如果盯着十分的文章做,可能最终发出来也就五六分;但如果就为了发个文章混毕业,很…

如何分析线程转储– IBM VM

本文是我们的线程转储分析系列的第4部分,它将为您概述什么是IBM VM的JVM线程转储以及您将找到的不同线程和数据点。 您将看到和学习​​到,IBM VM Thread Dump格式是不同的,但是提供了更多现成的故障排除数据。 在这一点上,您应该…

VMware vSphere克隆虚拟机

参考资料:http://blog.csdn.net/shen_jz2012/article/details/484167711. 首先将你所要克隆的虚拟机关掉2. 选择你的ESXI服务器选中"配置",然后选中存储器右键你的存储介质,比如我的是datastore1,选择“浏览数据存储”。…

windows命令行无法启动redis_windows系统安装redis

1、下载最新redis https://github.com/MicrosoftArchive/redis/releases我选择下载msi版本的2.双击下载包安装3.设置redis环境变量,把redis路径配置到系统变量path值中4启动redis,cmd进入安装好redis文件夹 输入:如果redis启动出错Creating S…