2015-10-15 29 views
0

Infinispan版本6.0.2.FinalInfinispan性能

我正在研究Infinispan放置操作偶爾需要的時間超過一秒的問題。

集羣有4個節點,我們正在使用複製模式。我們在使用嵌入式Infinispan的4個節點的每一個上都有2個應用程序。

整體性能非常好,因爲所有Infinispan操作的平均值大約爲2-3毫秒。下面是一個例子:

2015年10月15日16:29:02048 DEBUG InfinispanCacheListener [REQ-23]的Infinispan緩存:@CacheEntryCreated,cacheName =重複,鍵=鍵; 1810328342; 356091; -828608960-0

2015年10月15日16:29:02048 DEBUG InfinispanCacheListener [REQ-23]的Infinispan緩存:@CacheEntryModified,cacheName =重複,鍵=鍵; 1810328342; 356091; -828608960-0

2015年10月15日16:29:03,606 DEBUG InfinispanCacheListener [Req-23] Infinispan cache:@CacheEntryModified,cacheName = duplicate,key = key; 1810328342; 356091; -828608960-0

20 15-10-15 16:29:03,606 DEBUG InfinispanCacheListener [Req-23] Infinispan cache:@CacheEntryCreated,cacheName = duplicate,key = key; 1810328342; 356091; -828608960-0

我的理解是前2事件在操作完成之前,最後2個在條目更新之後。我們還在確認延遲的操作周圍有計時器邏輯。

在這兩者之間,我可以看到Infinispan操作非常快速地完成,下面是示例。

2015年10月15日16:29:02051 DEBUG InfinispanCacheListener [遠程線程425]的Infinispan緩存:@CacheEntryCreated,cacheName =答案,鍵=鍵; 1810328342; 356085; -828608958-0

2015 -10-15 16:29:02,051 DEBUG InfinispanCacheListener [remote-thread-425] Infinispan cache:@CacheEntryModified,cacheName = answer,key = key; 1810328342; 356085; -828608958-0

2015-10-15 16 :29:02,051 DEBUG InfinispanCacheListener [remote-thread-425] Infinispan cache:@CacheEntryModified,cacheName = answer,key = key; 1810328342; 356085; -828608958-0

2015年10月15日16:29:02051 DEBUG InfinispanCacheListener [遠程線程425]的Infinispan緩存:@CacheEntryCreated,cacheName =答案,鍵=鍵; 1810328342; 356085; -828608958-0

  1. 我想了解如何去找出造成這些峯值的原因。有沒有任何通常的嫌疑人?
  2. 爲什麼在第一個例子中,事件由應用程序線程報告,在第二個例子中由remote-thread報告?我有時看到它是由OOB線程報告的。這兩個事件都是本地生成的。

感謝 拉克什

回答

2

我認爲這些都是聚集的聽衆,對不對?如果本地節點是密鑰的主要所有者,則它可以直接從發出該操作的應用程序線程觸發本地偵聽器。如果主要所有者是遠程節點,則它必須將消息發送到原始節點,並在遠程線程池中進行處理。當線程池耗盡時,OOB線程需要調用該線程池,因爲遠程線程池使用調用者運行策略。所以這就是爲什麼你看到不同的線程調用監聽器的原因。

關於尖峯:這真的很難說,你必須得到跟蹤日誌和挖掘。可能的原因是由於接收器過載,垃圾收集,甚至在登錄到磁盤時失速,網絡上的信息丟失/丟棄。

+0

否這些不是羣集偵聽器。不支持7.0中引入的集羣監聽器嗎? – Rakesh