歡迎您光臨本站 註冊首頁

Linux下高可用/可伸縮Sendmail研究

←手機掃碼閱讀     火星人 @ 2014-03-29 , reply:0

  運行Sendmail的伺服器群集能夠在有競爭力的價格上提供高性能和高可用性。對於經驗豐富的系統管理員,這一貫是常用的做法。本文描述了我們的研究,量化和描述實現高可用/可伸縮Sendmail 的方法。

  我們研究了Linux上Sendmail群集的幾種配置,並對它們的相對性能進行了量化。我們通過調整 Sendmail 的配置以及 Linux 操作系統中的參數,研究並測試了公共性能。我們還沒有一個共享磁碟用於這些測試,因此我們將項目的範圍限定在只包括 SMTP 路由和排隊。這是位於專用網的邊緣或作為內部郵件存儲的前端的Sendmail群集的常用配置。

  雖然我們的硬體資源很普通,但我們相信這些相對差異會使我們的結果對於那些要實現基於Linux的 Sendmail伺服器群集的系統架構設計師是非常重要的,因為我們的結果說明了Sendmail群集的設計特性的相對重要性。

  匯總結果

  Sendmail、LDAP 和 DNS 有許多配置選項,但我們只考慮那些對於該應用程序很重要的選項。除非另有聲明,否則我們使用標準軟體和預設設置。在這些選項中,我們發現有少數因素可以對性能產生巨大影響,或者是實現可伸縮性必不可少的,如 LogLevel 和 QueueDirectory。

  最後,我們發現即使正確配置了 Sendmail,所有這些重要因素也會告訴我們兩個事實:

  Sendmail 是磁碟密集型的,磁碟速度越快,Sendmail 的速度就越快。

  不受控因素也許會影響我們所感知到的性能。如,遠程 DNS 伺服器發生故障,路由失常、隊列填滿和其它第三方問題。

  我們發現了什麼

  集群的伺服器:通過集群兩個伺服器並在前端添加負載均衡器,我們發現了最佳消息吞吐量 — 大約每秒 100 條消息。這是最佳單伺服器結果的性能的兩倍,單伺服器的最佳性能大約是每秒 50 條消息。當添加第三個伺服器時,幾乎看不到性能有所改進。

  LogLevel:由於 Sendmail 日誌記錄的用途有時象審計跟蹤,它顯示了 SMTP 郵件的進入和外出,因此從磁碟 I/O 的角度來看,日誌記錄的代價比較昂貴。在某些情況下,允許或者應該關閉此審計功能,以便提供更高的吞吐量。但即使啟用了完全日誌記錄(LogLevel 9),只要將日誌文件移到更快的文件系統上,我們仍可以得到可接受的性能。

  QueueDirectory:隊列目錄也是一個明顯的爭用點。通過使用多個隊列以及將 QueueSortOrder 切換成文件名,我們找到了最佳性能。LogLevel 和 QueueDirectory 在使吞吐量增加中共同起著舉足輕重的作用。

  其它配置選項:我們還測試了關閉 Ident 查找、對於工作負載使用 SharedMem 鍵和傳遞模式(Delivery Mode)。這些的作用很小,但我們假設在真正的方案中它們也許會更重要。我們的 Linux 安裝要求做很少的更改,它基本上是標準 Red Hat 7.1 並附帶標準 kernel.org 2.4.4 內核。我們找出了一些網路問題,但在更改了簡單的運行時配置之後已經解決了這些問題。註:我們沒有嘗試網路 syslog 程序(syslogger)。

  測試方案

  我們評估了幾種測試方案:

  單伺服器;

  循環 DNS;

  負載均衡器;

  基於 MX 的故障轉移。

  對於負載均衡器方案,我們嘗試了 Alteon 180 設備和運行均衡軟體的專用 Linux 伺服器。我們使用一台主機逐一調整重要的配置因子來尋找最優的 Sendmail 配置。通過使用此測試的結果,我們得到了最優化的配置,並將它用於其它不同的群集配置中。

  循環 DNS

  DNS 循環是將多路到來的網際網路 SMTP 流量分配到多台機器上的一種簡單方法。在其最簡單的形式中,針對某一個郵件伺服器主機名,會輸入幾個 A 記錄。每個參與的 Sendmail 伺服器都被配置成以這個主機名的名義接收郵件。當發送方要將郵件傳遞給接收方時,就生成了一個 DNS 查詢。其結果將包含該主機的所有 A 記錄的列表。預設情況下,大多數 MTA 實現會採用列表中的第一個成員。同一主機名的重複查詢會產生 IP 地址的循環列表(這是 BIND/DNS 的一個特性)。例如,如果在網際網路上查找名稱「us.ibm.com」,會返回以下 IP 地址列表:

  Name: www.ibm.com
  Addresses: 129.42.16.99, 129.42.17.99, 129.42.18.99, 129.42.19.99

  重複查詢,返回:

  Name: www.ibm.com
  Addresses: 129.42.19.99, 129.42.16.99, 129.42.17.99, 129.42.18.99

  再查詢一次,返回:

  Name: www.ibm.com
  Addresses: 129.42.17.99, 129.42.18.99, 129.42.19.99, 129.42.16.99

[火星人 ] Linux下高可用/可伸縮Sendmail研究已經有579次圍觀

http://coctec.com/docs/linux/show-post-203447.html