Tuesday, October 2, 2012

負載平衡器優缺點比較(Nginx vs HAProxy vs LVS)

負載平衡器優缺點比較(Nginx vs HAProxy vs LVS)
在這3款負載平衡伺服器中,丫忠比較有接觸的是Nginx,直到最近才對HAProxy比較有接觸,LVS則是完全沒印象,不過既然找到了負載平衡伺服器的比較資料,丫忠就順便做個筆本,再找個時候來研究看看,甚至寫個安裝心得筆記囉!

Nginx的優點

1.效能不錯,同時負載效能可以達到1萬

2.功能較齊全,除了當負載平衡伺服器外,還可以像apache一樣當Web伺服器,且可以透過Geo模式(註1)來達到流量分配功能。

3.支援的模組比較多

4.支援Gzip proxy.

Nginx的缺點

1.不支援session keep alive


2.對於檢查後端伺服器狀態的支援度不夠好。只支援透過埠號(port)來檢查,無法透過url檢查

3.對big request header的支援不是很好,如果 client_header_buffer_size 的設定值比較小,就會返回400 bad request的頁面
也許您對 Nginx V1.5 中文技術手冊 有興趣。

HAProxy的優點

1.支援session keep alive

2.透過指定的url檢查後端伺服器的狀態


3.支援tcp協定的負載平衡,譬如:可以給mysql伺服器mail server郵件伺服器負載平衡

4.支援虛擬主機

HAProxy的缺點

1.目前沒有支援 nagios(註2) 和 cacti (註3)的網路監控功能

LVS的優點

1.效能好,接近硬體式負載平衡設備的效能和連接負載效能

2.LVS的DR模式支援透過廣域網路進行負載平衡,這是個相當大的功能特性,因為其他2款負載平衡器不具備此功能

LVS的缺點

1.比較複雜,模組支援度不如 Nginx
註1:所謂Geo模式是指全域的負載模式,根據不同客戶端(Client)的ip分配到不同的伺服器(Server)。譬如:將特定客戶端的IP分配到特定的伺服器,一般網路使用者則分配到一般Web伺服器

註2:Nagios 為提高效能和準確性的網路監控軟體(詳細)
註3:Cacti 是一套類似 MRTG 的snmp流量監控跟系統資訊監控軟體,除此 Cacti 還可以外掛 Script 及 Templates作出各種的監控圖 ,有興趣的網友可以參考 CaCti官網 的說明

幸運的是有一套軟體 cacti 的發展就是基於讓 RRDTool 使用者更方便使用該軟體,

除了基本的 Snmp 流量跟系統資訊監控外,Cacti 也可外掛 Scripts 及加上 Templates 來作出各式各樣的監控圖

Reference: http://homeserver.com.tw/proxy-server/%E8%B2%A0%E8%BC%89%E5%B9%B3%E8%A1%A1%E5%99%A8%E5%84%AA%E7%BC%BA%E9%BB%9E%E6%AF%94%E8%BC%83nginx-vs-haproxy-vs-lvs/

No comments: