管理及程式設計指南
「快取管理程式」管理系統中的一個或多個快取。
每一個快取包含動態產生的 HTML 頁面之內容。
若要架構「快取管理程式」和每一個快取,
您要更新「快取管理程式」架構檔 cachemgr.cnf 中的關鍵字值。
「快取管理程式」架構檔包含兩種段落:
「快取管理程式」段落和「快取定義」段落。
下列步驟說明如何為您的應用程式自行設定這兩種段落。
指定容許關鍵字的值,來定義「快取管理程式」段落。
所有關鍵字是可選用的:除非不想接受預設值,否則不需要指定其值。
若要定義「快取管理程式」:
- 設定「快取管理程式」日誌檔的名稱。
該日誌顯示所有快取的全部異動活動,且供除錯和問題分析使用。
預設值是將訊息寫至主控台。
語法:
log=path
其中,path 是快取檔的路徑和檔案名稱。
要訣:若要指定日誌檔給每一個快取,
請在「快取定義」段落中使用 tran-log 關鍵字。
- 指定「快取管理程式」為了進入要求所用的 TCP/IP 通信協定埠號。
這個埠號只用於聯絡「快取管理程式」和遠端機器。
此值必須符合 Net.Data 起始設定檔中 DTW_CACHE_PORT 架構變數所指定之埠號。預設值的決定方式如下:
- 「快取管理程式」檢查路徑 /etc/services 中,
有關名稱 ibm-cachemgrd 的值。若找到此值,則「快取管理程式」使用該值。
若找不到,則使用下一個方法。
- 「快取管理程式」用預設埠 7175。
語法:
port=port_number
其中,port_number 是唯一的 TCP/IP 通信協定埠號。
- 以秒為單位,指定「快取管理程式」容許擱置中之讀取作業保持作用中的最大時間。
若超過這個時間,則「快取管理程式」會中斷連線。
預設值是 30 秒鐘。
語法:
connection-timeout=seconds
其中,seconds 是擱置中之讀取作業保持作用中的時間長度,以秒數為單位。
- 設定是否記錄訊息。
預設值是 no 或 off。
語法:
logging=yes|on|no|off
其中:
- yes|on
- 表示記錄是必要的
- no|off
- 表示不要執行記錄。
- 設定是否折返日誌。
預設值是 no。若指定為 yes,
則當檔案大小達到最大值時 (請參閱下列 log-size)、
檔案類型為 .old 時、及新日誌開啟時,現行日誌會關閉。
只保留一份日誌檔 (舊有 .old 檔案會被改寫)。
語法:
wrap-log=yes|no
其中:
- yes
- 指定要折返日誌。
- no
- 指定不折返日誌。
- 以位元組為單位,設定容許日誌擴大到最大之值 (若已指定折返日誌的話)。
預設值是 64000。
語法:
log-size=bytes
其中,bytes 是最大大小的位元組數。
- 設定要寫入日誌中的訊息層次。
若這些值出現在 trace_flag_definitions 列示中且無任何設定,
則會設定為 on。
預設值是僅記錄「快取管理程式」啟動和關機訊息。
語法:
trace-flags=trace_flag_definitions
其中:
- D_ALL
- 啟用所有追蹤旗號。
- D_NONE
- 停用所有追蹤旗號
範例:指定所有追蹤旗號皆啟用:
trace=flags=D_ALL
段落範例:有效的「架構管理程式」段落:
cache-manager {
port = 7175
connection-timeout = 60
logging = off
log = /local/netdata/cachemgr/logs/cachemgr.log
wrap-log = yes
log-size = 32KB
}
指定容許關鍵字的值,來定義「快取定義」段落。大多數關鍵字是可選用的,
且不需指定,除非您不想使用預設值。
若要定義快取:
- 指定用來保留快取頁面的路徑和目錄名稱。
在啟動時,含有此目錄的檔案系統大小,至少必須為 fssize 的值 (如下所示);
否則快取不會啟動。
此值可指定為絕對路徑名稱,或是對應於「快取管理程式」啟動路徑的相對路徑名稱。
必要的。
語法:
root=path_name
其中:
- path_name
- 儲存快取頁面的絕對或相對之路徑和目錄名稱。
- 設定啟動「快取管理程式」時,現行快取是否作用中。
不必要的;預設值是 yes。 若設定為 no,
則快取定義於「快取管理程式」中,但不啟動。
您可以稍後使用 cacheadm 指令來啟動它。
語法:
caching=yes|no
其中:
- yes
- 表示啟動「快取管理程式」時,亦啟用快取。
- no
- 表示啟動「快取管理程式」時,不要啟動快取。
- 設定檔案系統中,由現行快取中的頁面所使用之最大空間。
超過最大空間值時,「快取管理程式」會刪除足夠的頁數,
從最舊的頁面開始刪除,以將快取所佔據的全部空間降至限制內。
您可以將此值設為最大,以有效停用自動除去登錄;
但是,若超過實體檔案空間,則新增新的頁面至快取中就會失敗。
不必要的;預設值是 0 (沒有對磁碟進行快取)。
語法:
fssize=nnB|nnKB|nnM
其中:
- nnB
- 是位元組數;例如 5000B。
- nnKB
- 是千位元組數;例如 640KB。
- nnMB
- 是百萬位元組數;例如 30MB。
- 設定此快取中之全部頁面所用的最大記憶體數量。
超過最大記憶體數量時,「快取管理程式」會刪除足夠的頁數,
從最舊的頁面開始刪除,使快取所佔用的全部記憶體在界限內。
您可以設定頁數為最大數,以便有效停用自動除去頁數;
但是,若 cachemgrd 處理消耗太多記憶體,
則作業系統可能會終止它。
不必要的;預設值是 1MB。
語法:
mem-size=nnB|nnKB|nnMB
其中:
- nnB
- 是位元組數;例如 5000B。
- nnKB
- 是千位元組數;例如 640KB。
- nnMB
- 是百萬位元組數;例如 30MB。
- 設定頁面在快取中保留的最大時間長度。
超過此值時,「快取管理程式」會將頁面標示為過期,但不會刪除該頁面,
除非到達了 fssize (若是在磁碟上快取)
或 memsize (若是在記憶體中快取) 限制。
若到達了 memsize 或 fssize 限制,
則「快取管理程式」會在所有其它頁面之前,先刪除標示為過期的頁面。
您可以使用 check_expiration 關鍵字,
來停用 lifetime 檢查。
必要的: 否;預設值是 5 分鐘。
語法:
lifetime=time_length
其中:
- nnS
- 是指秒數;例如 600S。
- nnM
- 是指分鐘數;例如 20M。
- nnH
- 是指小時數;例如 30H。
- 設定是否將快取頁面標示為過期,及執行生命週期檢查。
不必要的;預設值是 yes,預設生命週期長度是 60 秒鐘。
此值也可設為時間長度,表示 yes 值,
並宣告項目保留在快取中的最大時間長度。
設定為 no 時,快取頁面就不會標示為過期,
且不會執行生命週期檢查。
語法:
check-expiration=yes|nnS|nnM|nnH|no
其中:
- yes
- 表示「快取管理程式」執行生命週期檢查,且快取頁面標示為過期。
- nnS
- 是指秒數;例如 600S。
- nnM
- 是指分鐘數;例如 20M。
- nnH
- 是指小時數;例如 30H。
- no
- 表示「快取管理程式」不執行生命週期檢查,且快取頁面不標示為過期。
- 設定快取頁面在快取內所佔用的最大空間數量。
若一頁面超過記憶體大小,則檢查檔案快取。
若有足夠的空間,則「快取管理程式」會在檔案快取中儲存快取頁面。
若頁面不適合於檔案快取,則快取嘗試會失敗。
若頁面小於 datum_memory_limit 值 (cacheobj-memory-limit),
但如果快取無足夠的空間,則從記憶體快取中刪除最舊的快取頁面,
以容納新建頁面。
不必要的;預設值是 1KB。
語法:
datum-memory-limit (cacheobj-memory-limit)=nnB|nnKB|nnMB
其中:
- nnB
- 是位元組數;例如 5000B。
- nnKB
- 是千位元組數;例如 640KB。
- nnMB
- 是百萬位元組數;例如 30MB。
- 設定快取頁面在檔案快取內所佔用的最大空間數量。
若頁面小於 datum_memory_limit 值,但檔案快取中無足夠的空間,
則從檔案快取中刪除最舊的快取頁面,以容納新建頁面。
不必要的;預設值是 1KB。
語法:
datum-disk-limit (cacheobj-space-limit)=nnB|nnKB|nnMB
其中:
- nnB
- 是位元組數;例如 5000B。
- nnKB
- 是千位元組數;例如 640KB。
- nnMB
- 是百萬位元組數;例如 30MB。
- 設定建立統計值記錄之間的時間。
若設為 0,則不會寫入統計值記錄。
不必要的;預設值是 0 (沒有統計值)。
語法:
stat-interval = nnS|nnM|nnH
其中:
- nnS
- 是指秒數;例如 600S。
- nnM
- 是指分鐘數;例如 1M。
- nnH
- 是指小時數;例如 3H。
- 設定記錄現行快取之統計值的路徑和檔案名稱。
stat-interval 的值大於 0 時,則為必要的。
語法:
stat-files=filename
其中,filename 是記錄統計值檔案的路徑和名稱。
- 設定統計值計數器每次被寫入日誌檔時,是否應該重設 0。
不必要的;預設值是 yes。
語法:
reset-stat-counters=yes|no
其中:
- yes
- 重設統計值計數器。
- no
- 不要重設統計值計數器。
- 定義路徑和檔案名稱,來保留每一個快取的異動日誌。
快取異動日誌檔不同於「快取管理程式」日誌檔,
後者用來記錄「快取管理程式」的整體活動。
必要的;若未指定,則不會建立快取的異動日誌。
語法:
tran-log=filename
其中,filename 是每一個快取的異動之路徑和檔案名稱。
- 設定首次啟動「快取管理程式」時,是否要開啟異動記錄,
來記錄快取。
除非透過 tran-log 參數來指定有效的異動日誌檔,否則系統不處理此參數。
若「快取管理程式」架構檔中已指定有效的 tran-log 值,
則可以使用 cacheadm 指令,
以便於執行「快取管理程式」常駐程式的同時,亦啟動異動記錄。
不必要的;預設值是 no。
語法:
tran-logging=yes|on|no|off
其中:
- yes|on
- 表示記錄是必要的。
- no|off
- 表示不要執行記錄。
- 設定是否要折返異動日誌。
不必要的;預設值是 yes。 若指定為 yes,
則當其大小達到最大值時 (請參閱 tran-log-size)、
檔案類型為 .old 時、及新日誌開啟時,現行日誌會關閉。 只保留一份日誌 (舊有 .old 檔案會被改寫)。
語法:
wrap-tran-log=yes|no
其中:
- yes
- 表示要折返日誌。
- no
- 表示不要折返日誌。
- 以位元組為單位,設定容許異動日誌擴大到最大之值
(若已指定 wrap-tran-log 的話)。
不必要的;預設值是 64000。
語法:
tran-log-size=bytes
其中,bytes 是最大大小的位元組數。
段落範例:快取的有效「快取定義」段落:
cache0
{
root = /locale/netdata/cachemgr/caches/cache0
caching = on
mem-size = 10MB
fs-size = 1MB
datum-memory-limit = 200KB
datum-disk-limit = 1MB
lifetime = 6000000
check-expiration = 999999
tran-logging = no
tran-log-size = 10000
wrap-tran-log = yes
tran-log = /ocale/netdata/cachemgr/logs/tran.log
}
[ 頁面頂端 | 前一頁 | 下一頁 | 目錄 | 索引 ]