潤幹報表效能管理之集群快取同步功能

2021-07-25 00:12:30 字數 940 閱讀 5749

功能背景:

目前伺服器的集群,經常使用session同步的功能,在這種情況下,允許同乙個客戶端,第一次訪問a機器,第二次跳轉到b機器繼續訪問,伺服器會自動把a機器產生的session的內

容複製到b機器上,使得訪問正常進行,從而實現伺服器之間負載更加均衡。

潤幹報表的快取是在硬碟上做的,於是當客戶端第一次訪問a機器時產生的報表儲存在a機器的快取目錄下,第二次訪問跳轉到b機器時,就無法獲取快取報表了,為了解決這個問題

,推出了快取同步的功能。

實現原理:

客戶端第一次訪問報表伺服器a,a機器計算了報表並在a機器作了快取,當客戶端第二次訪問時,例如此時跳轉到b機器,b機器根據快取id的字首判斷出是a機器做的快取,於是b機

器向a機器傳送快取請求,a機器讀取快取並把快取結果傳送給b機器,b機器再把結果返回給客戶端。

實現這個功能,需要做如下的配置:

clustermember

a,192.168.0.59,8087;b,192.168.0.48,8087;

iscachedfileshared

yescachedreportdir

\\192.168.0.59\cached

cachedidprefix

a需要注意的是,目前集群快取同步存在以下問題:

1、 目前只實現了報表快取的同步,沒有實現引數快取的同步。

2、 也就是說,使用者第一次訪問a機器時,不僅僅把報表快取下來了,還把引數快取在記憶體了,有乙個引數快取id。當客戶端第二次訪問時,如果報表快取過期了,被清除了,

系統會根據引數快取id重新進行報表運算,這個過程對使用者是透明的。可是如果引數快取id沒有,就只好要求你重新輸入引數。

3、 當客戶端第二次訪問時如果跳轉到b機器,而此時恰恰報表快取過期了被清除了,系統就會找不到引數快取id,因為引數快取沒有被同步。

4、 一般來說,當翻頁、列印、匯出時,會遇到上述現象。

潤幹報表集群快取同步功能介紹

目前伺服器的集群,大多是使用session同步的方法解決的問題,即讓集群中一台電腦的session在集群伺服器發生相互之間跳轉的時候,把session也同時複製到相應的電腦上。例如 在集群伺服器中,第一次訪問a機器,第二次跳轉到b機器繼續訪問,伺服器會自動把a機器產生的session的內容複製到b機...

潤幹報表集群快取同步功能介紹

目前伺服器的集群,大多是使用 session 同步的方法解決的問題,即讓集群中一台電腦的 session 在集群伺服器發生相互之間跳轉的時候,把 session 也同時複製到相應的電腦上。例如 在集群伺服器中,第一次訪問 a 機器,第二次跳轉到 b 機器繼續訪問,伺服器會自動把 a 機器產生的 se...

配置潤幹報表的快取

配置潤幹報表的快取 任務背景 不管報表引擎的演算法如何優化,報表資料量大到一定程度,使用者併發數多到一定程度,伺服器的效能總會告急,因此,報表引擎的任務一方面是優化演算法,另一方面也是更重要的,是要提供有效的快取機制與併發控制機制。面臨困難 報表的快取,乍一聽似乎挺簡單的,不就是把算好的報表存下來,...