当前位置: 首页 > 知识库问答 >
问题:

Infinispan性能

齐乐
2023-03-14

Infinispan版本6.0.2。最终

我正在调查英菲尼斯潘put操作有时需要超过一秒钟的时间的问题。

集群有4个节点,我们使用复制模式。我们在使用嵌入式Infinispan的4个节点中的每个节点上都有2个应用程序。

整体性能完全正常,因为所有Infinispan操作的平均时间约为2-3ms。以下是一个示例:

2015-10-15 16:29:02,048调试InfinispanCacheListener[Req-23]Infinispan缓存:@CacheEntryCreated, cacheName=副本,key=key; 1810328342; 356091;-828608960-0

2015-10-15 16:29:02048调试InfinispanCacheListener[Req-23]Infinispan缓存:@CacheEntryModified,cacheName=duplicate,key=key;1810328342;356091;-828608960-0

2015-10-15 16:29:03606调试InfinispanCacheListener[Req-23]Infinispan缓存:@CacheEntryModified,cacheName=duplicate,key=key;1810328342;356091;-828608960-0

2015-10-15 16:29:03606调试InfinispanCacheListener[Req-23]Infinispan缓存:@CacheEntryCreated,cacheName=duplicate,key=key;1810328342;356091;-828608960-0

我的理解是,前2个事件在操作完成之前,后2个事件在条目更新之后。我们在确认延迟的操作周围也有计时器逻辑。

在这两者之间,我可以看到Infinispan操作很快完成,例如下面的例子。

2015-10-15 16:29:02051调试InfinispanCacheListener[remote-thread-425]Infinispan缓存:@CacheEntryCreated,cacheName=answer,key=key;1810328342;356085;-828608958-0

2015-10-15 16:29:02051调试InfinispanCacheListener[remote-thread-425]Infinispan缓存:@CacheEntryModified,cacheName=answer,key=key;1810328342;356085;-828608958-0

2015-10-15 16:29:02051调试InfinispanCacheListener[remote-thread-425]Infinispan缓存:@CacheEntryModified,cacheName=answer,key=key;1810328342;356085;-828608958-0

2015-10-15 16:29:02051调试InfinispanCacheListener[remote-thread-425]Infinispan缓存:@CacheEntryCreated,cacheName=answer,key=key;1810328342;356085;-828608958-0

  1. 我想知道如何找到导致这些尖峰的原因。有什么常见的嫌疑犯吗
  2. 为什么在第一个示例中,事件由应用程序线程报告,而在第二个示例中,事件由远程线程报告?我有时看到OOB线程报告。这两个事件都是本地生成的

谢谢Rakesh

共有1个答案

韩寂离
2023-03-14

我假设这些是集群侦听器,对吗?如果本地节点是密钥的主要所有者,则可以直接从发出操作的应用程序线程启动本地侦听器。如果主要所有者是远程节点,则必须向原始节点发送消息,并在远程线程池中进行处理。当线程池耗尽时,OOB线程需要调用它,因为远程线程池使用调用方运行策略。这就是为什么你会看到调用监听器的不同线程。

关于尖峰:这真的很难说,你必须获得跟踪日志并进行挖掘。可能的原因是由于接收器过载、垃圾收集,甚至在登录到磁盘时暂停,导致消息在网络上丢失/丢弃。

 类似资料:
  • 在Infinispan 6.0中。有x版本,但wildfly 8.2的属性是什么? 谢啦

  • Infinispan 是个开源的数据网格平台。它公开了一个简单的数据结构(一个Cache)来存储对象。虽然可以在本地模式下运行Infinspan,但其真正的价值在于分布 式,在这种模式下,Infinispan可以将集群缓存起来并公开大容量的堆内存。这可比简单的复制强大的多,因为它会为每个结点分配固定数量的副本——服 务器故障的一种恢复手段——同时还提升了可伸缩性,这是由于存储每个结点所需的工作量是与集群

  • 请注意,当前版本还处于预览版,请慎重在生产环境中使用 翻译:Ranger Tsao,校对 宋子豪、赵亮 InfinispanClusterManager 是基于 Infinispan 实现。由于 Vert.x 集群管理的可插拔性,也可轻易切换至其它的集群管理器。 InfinispanClusterManager 在组件 vertx-infinispan 中,通过构建工具可以轻松引入: Maven(

  • 我使用infinispan缓存版本5.1.6。FINA。我已经配置了命名缓存: 我用它来只在内存中存储一些数据。我在创建缓存时使用此配置,其中key是,value是,并且只保留4个元素总是只有4个。为此,我硬编码了4个键:1L、2L、3L、4L,有时只是更改这些元素的值。 如果缓存包含键为1L和2L的两个元素以及一些值,并且我尝试将另外两个元素与他的值相加,那么它们会相互重放。因此,缓存只保存键为

  • Infinispan作为hibernate二级缓存的更新方式与数据库事务的工作方式不同。我的意思是,在完全提交之前,数据库事务对其他事务不可见。根据日志记录,我观察到事务(JEE MDB)能够部分更新给定的Infinispan更新。具体来说,我的设置如下: Jboss 我似乎看到的是,如果在事务的DB提交之后启动JEE bean,并且我认为是infinispan更新(提交),那么它可以看到一些in

  • 我们使用的是部署在OpenShift(v3.11,K8S版本1.11)上的Infinispan 9.4.11,使用的是Infinispan运算符版本0.0.3。 我们用了 默认缓存(一个没有名称) Java序列化 访问远程缓存的Hotrod协议 事情进展顺利。 我们现在正在迁移到K8S v1.17,我们的infra团队告诉我们Infinispan Operator v0.0.3与K8S v1.17