Home Support Sawmill System Requirement
Sawmill System Requirement PDF Print E-mail
Written by Benson Chung   
Friday, 03 September 2010 15:55

Supported OS

  1. Microsoft Windows 7/Vista/XP/2000/2003/2008
  2. Apple MacOS X 10.4/10.5/10.6
  3. Linux (SUSE Linux Enterprise Server 10)
  4. Linux (glib2.5/libstdc++3.4.8; e.g.,RedHat ES/AS 5,CentOS 5)
  5. Linux (glib2.3/libstdc++3.4.3; e.g.,RedHat ES/AS 4,CentOS 4)
  6. Linux (glib2.3/libstdc++3.2.2; e.g.,RedHat 9,FC1/2/3,ES/AS 1/2/3)
  7. Sun Solaris 10 (Intel)
  8. Sun Solaris 8/9/10 (SPARC)
  9. FreeBSD 6
  10. Source code (Encrypted, for compile in special platform.)

Supported Browser

  1. Firefox 2 , 3 or above
  2. Internet Explorer 7 or above. (IE6 do not support some Java Script)
  3. Chrome (Best speed, but some menu item not able to save)
  4. Safari 3

 

Hardware Suggest 

Sawmill

Database

Setup 

Platform

CPU

Clock

RAM

Disk Array 

Enterprise

Internal

Standard

x64

Quad Core Xeon x 2

3GHz

16GB

RAID 10

Minimum

x64

Quad Core Xeon

3GHz

8GB

RAID 10

External

Standard

x64

Quad Core Xeon

3GHz

8GB

RAID 1

Minimum

x86

Dual Core

3GHz

4GB

RAID 1

Professional

Internal

Standard

x64

Dual Core

1.5GHz

4GB

RAID 10

Minimum

x86

Pentium 4

2.8GHz

4GB

RAID 1

External

Standard

x86

Dual Core

1.5GHz

4GB

RAID 10

Minimum

x86

Pentium 4

2.8GHz

2GB

RAID 1

  1. The difference of Internal and External Database is where the loading that database acts (index,xref).
  2. 2GB RAM per processor core could avoid Out of memory error.
  3. Don't use RAID 5, Please use RAID 10 at least.
  4. 以上建議值適用於大多數日誌環境;但在日誌量極大、來源極多、資料庫保留天數極長的情形下,需評估調整硬體規格,以及各項最佳化作業(資料來源、軟硬體參數、配置等)。

 

檔案系統

檔案系統需視RAID Controller Stripe size調校,以避免檔案系統Block Size與RAID控制器搭配不宜而導致磁碟效能低落。

 

例如:

RAID Controller Stripe size = 128KB

檔案系統在格式化時,需指定Block Size為最接近128KB的可除盡數。
- Windows NTFS預設為4KB,最大為64KB,應設定為64KB以使I/O量降低。
- Linux可在建立檔案系統時指定參數 -E stride=128,以及可視磁碟數量(此例為兩顆)調整的參數 stripe-width=256。

 

效能確認清單 

Sawmill整體運作時可分為三段作業,其間使用資源情形略有不同。 

  1. 讀取日誌 – 讀取日誌同時也進行日誌分割與建立資料庫表要表格,此時CPU負載最高。
  2. 建立資料庫索引 – 建立索引時由於資料庫的大量動作,磁碟負載最高。
  3. 建立交互關聯表 – 建立交互關聯表時由於參照大量資料,記憶體使用量最高,同時也有大量資料寫入,磁碟負載亦高。

 

日誌容量(磁碟容量)

原始日誌與分析後的資料庫各佔有磁碟空間。

原始日誌 – 依日誌保留天數,取七日或四週之一日平均值(已壓縮),乘以日誌保留天數。
例如: 原始日誌需保留3年,共1095日。平均一天原始日誌容量(已壓縮)為100MB。

磁碟保留空間為: 100MB x 1095 = 109.5GB

資料庫 – 視資料庫保留天數,取原始日誌一日平均值(未壓縮)之4倍,乘以保留天數。

例如: 資料庫需保留90天,平均一天原始日誌容量(未壓縮)為2GB。

磁碟保留空間為: 2GB x 4 x 90 = 720GB

 

日誌格式 

許多日誌格式具有不少保留未用的欄位,將其移除後,可節省大量處理時間,也能減少大量資料庫佔用空間。例如未具備防毒模組的防火牆,可將病毒相關欄位全數移除。

 

CPU效能 

CPU直接影響日誌處理速度,目前主流伺服器大多已非效能瓶頸。CPU時脈決定每秒能處理多少行日誌,CPU數量則決定能同時執行多少執行緒。兩者相乘可得最高處理行數,即為最高EPS(Event per Second)值;再加上資料庫索引以及交互關聯表的建立時間,則可得平均EPS。由於每次讀入的資料,以及現有資料庫的大小都不一樣,故每一次執行日誌處理時,EPS值並非固定不變的。故要以EPS值來評估每日能處理多少日誌量並不容易,皆需要進行實測,或以現有數據進行評估。但在日誌來源、現有資料庫大小相同情形下,可作為硬體平台的效能參考值。


記憶體 

記憶體永遠不嫌多是不變的道理。不過Sawmill 儲存大部份資料於磁碟,而非記憶體,所以記憶體的使用量一般來說不會很高 (前版 Sawmill 大量使用記憶體,而現在的版本很節省記憶體). 然而 Sawmill 會將儲存部份資訊於記憶體,用於快取以增加效能,如果必要,這些快取可以降低以減少記憶體用量,尤其是快取大小清單,以及可使用最大的緩衝記憶體選項,可以設定較低的數值,以減少記憶體用量。

 

如果執行中仍會遇到記憶錯誤,請確認使用的是64位元作業系統平台,這可解除 2GB 記憶體限制,在必要的情況下,允許Sawmill使用更多記憶體空間。一般的資料量情況下,每個處理器核心不常達到1GB記憶體用量,所以每個核心配置2GB記憶體通常足夠。但如果您在每個核心配置2GB記憶體的環境中,仍會遇到記憶體不足的情形,就必須昇級到64位元作業系統。

 

另一個選擇是使用外部資料庫伺服器,由於Sawmill的記憶體使用量大部份是在操作內建的資料庫時,故當Sawmill執行在配置較少量記憶體的主機時,而資料庫伺服器(MySQL,Oracle,or Microsoft SQL Server)執行在擁有較多資源的環境中,指定使用外部資料庫伺服器時,記憶體的用量及管理就交給外部的資料庫伺服器了。

 

網路 

Sawmill在接收日誌、透過網頁管理,以及使用外部資料庫時需要網路連接,網路的頻寬大小決定了接收日誌及外部資料庫的速度。建議以Gigabit Ethernet連接,以避免syslog遺失,或是資料庫寫入延遲所造成的任何不穩定現象。

 

磁碟I/O效能 

由於CPU效能與核心數量愈來愈快又多,記憶體頻寬也成倍地成長,但硬碟的效能仍無法有突破性的成長,故近來經常遇到EPS值極高,但資料庫卻屢屢建立失敗的案例。造成磁碟寫入/讀取失敗的原因很多,其關鍵點在於IOPS(I/O Operation / Second)值。RAID/Disk控制器能承受的IOPS值愈高,資料吞吐量就能愈高,以現有處理器能力,以及大量日誌資料的情形下,最好能有500 IOPS以上的效能,才不致經常發生資料讀寫失敗的情形。

 

提高IOPS值的方式的主要方式是增加同時讀寫的磁頭,也就是增加磁碟數量,一般在需有資料備援的要求下,均使用RAID 10的組態,藉RAID 1 Mirror功能達成資料備援,同時具有RAID 0多磁碟同時寫入,提昇讀寫速度及I/O承受能力。