針對使用者流量進行優化
如果您有很多活動 Tableau Server 使用者,而需要擷取重新整理的已發佈資料來源很少,則可以針對流量進行優化。
何時針對使用者流量進行優化
檢視載入緩慢
使用範例效能工作簿的 [Requests and Sessions] (請求和會話)儀表板來分析檢視載入所花費的時間。
如果多個檢視的載入時間都超過 10 秒,並且載入緩慢是由大量會話造成的,則可能表明使用者流量拖慢了伺服器。
但是,如果特定檢視無論何時檢視都要花費很長時間才能載入,則表明檢視的工作簿需要優化。可以使用載入時間統計資料管理檢視來確定哪些工作簿需要優化。優化工作簿的一些簡單方式包括:在每個檢視中顯示較少的資訊或拆分檢視、減少篩選器數量,以及使用擷取。
使用者流量造成的高資源使用率
如果伺服器在高峰流量時段顯示高 CPU 和記憶體使用率,則您應針對使用者流量進行優化。若要確定高峰流量時段並分析伺服器上有多個併發使用者,請使用 [Users and Actions] (使用者和動作)儀表板。此外,您可以使用到檢視的流量管理檢視來檢視有多少使用者流量牽涉到存取檢視(而不是執行管理功能、發佈或其他工作)。
如果按一下 [Number of Users] (使用者數)檢視中的某個點,儀表板將顯示當前處於活動狀態的使用者,以及哪些使用者執行的使用者動作的數量。預設情況下,顯示的唯一使用者動作是使用者檢視,但您可以使用 [Action Types] (動作類型)篩選器來顯示其他使用者動作。
記下一天中存在多個併發使用者和檢視的時段,以便您能夠將此資料與資源使用量進行比較。經驗法則是:使用者數應與高使用者運算元對應。但是,在負載組建測試過程中,此範例中的檢視會為單一使用者顯示虛假的高運算元。例如,您可以將 6 月 28 日 12 AM 的高檢視數與後面闡述的儀表板中的資源使用量進行比較。
使用 [CPU Usage] (CPU 使用率)儀表板來顯示總 CPU 使用率百分比,以及每個處理序的 CPU 使用率百分比。在下面的範例中,請注意總 CPU 使用率和 VizQL Server 處理序在 6 月 28 日 12 AM 時的大型峰值。由於 VizQL Server 處理序載入和呈現檢視,因此 VizQL Server 處理序通常是在高使用者流量下顯示高負荷的第一個處理序。
附註:單獨處理序 CPU 使用率百分比的和加起起來可能會超過 100%。這是因為單獨處理序的處理器利用率是針對給定處理器內核度量的。與之相比,總 CPU 使用率則針對所有處理器內核進行度量。
使用 [Memory Usage] (記憶體使用率)儀表板來顯示總記憶體使用率百分比,以及平均記憶體使用量(以 GB 為單位)。一般情況下,記憶體使用率會隨著使用者流量穩定增長。同樣,VizQL Server 處理序是在高流量下顯示高負荷的第一個處理序。
針對使用者流量進行優化的方式
如果像前面所示的範例中一樣,高資源使用率帶來了很高的使用者流量,則應針對使用者流量進行優化。
調整 VizQL Server 處理序數
針對使用者流量進行優化的最有效方式是調整 VizQL Server 處理序數。一次新增一個 VizQL Server 處理序,並使用更多的效能監控功能來衡量效果。由於 VizQL Server 處理序可能會耗用大量的 CPU 和記憶體,因此新增太多處理序可能會拖慢伺服器。如果一直看到很高的記憶體使用率,請嘗試減少 VizQL Server 處理序數來減少保留的記憶體量。
有關設定處理序的詳情,請參閱設定節點。
調整其他處理序的數量
儘管針對使用者流量提高效能的最有效方式是調整 VizQL Server 處理序數,但您也可以調整為 VizQL Server 處理序提供支援或使 VizQL Server 處理序無法存取資源的其他處理序。例如,VizQL Server 處理序會向快取伺服器處理序發出頻繁請求,因此您可能也需要增加快取伺服器處理序數。另一方面,背景程式處理序可能會與 VizQL Server 處理序爭用 CPU 資源。因此,如果您不需要頻繁執行擷取重新整理,則可以減少背景程式的處理序數。如果您確實需要背景程式的額外實例,並且在叢集上執行 Tableau Server,則可以將這些背景程式處理序轉移到專用節點。
調整 VizQL 會話超時限制
在前面顯示的範例中,VizQL Server 處理序使用的記憶體量會隨使用者流量增加,並且在流量完成後一段時間內,Tableau Server 會一直保留該處理序。這是因為 VizQL Server 處理序會為每個會話保留記憶體一段指定的時間。如果 VizQL Server 處理序佔用了很高比例的可用記憶體,請嘗試縮短每個會話的超時,提高記憶體再次可用的速度。
為此,請使用 tsm configuration set
命令縮短 vizqlserver.session.expiry.timeout
設定。預設值為 30 分鐘。
降低重新整理快取的頻率
如果您的使用者並不總是需要最新資料,則可以將 Tableau Server 設定為儘量快取和重複使用資料,從而針對使用者流量進行優化。
為此,請使用 tsm data-access caching list
命令確認重新整理頻率。預設值為 Low
。使用 tsm data-access caching set
命令變更重新整理頻率。
評估檢視回應性
使用者開啟檢視時,檢視元件會先經過檢索和解釋,然後再顯示到使用者的 Web 瀏覽器中。對大多數檢視來說,顯示呈現階段在使用者的 Web 瀏覽器中進行,且大多數情況下會組建最快的結果和最高級的交互回應性。在用戶端 Web 瀏覽器中處理大多數交互可減輕頻寬壓力,並降低往返請求延遲。如果檢視非常複雜,Tableau Server 將在伺服器(而非用戶端 Web 瀏覽器)中處理呈現階段,因為這樣做通常可獲得最佳效能。如果您發現檢視的回應情況不盡如人意,可以測試和變更導致檢視由伺服器呈現(而非在用戶端 Web 瀏覽器中呈現的閾值)。有關詳情,請參閱設定用戶端轉譯。