| 導購 | 订阅 | 在线投稿
分享
 
 
 

UW IMAP 服務器的性能優化

來源:互聯網  2008-05-31 00:04:34  評論

概述:

UW IMAP是由華盛頓大學開發的一個開放源碼的POP/IMAP服務器,這是一個使用的很廣泛的POP/IMAP服務器,象Mandrake、RedHat等比較流行的linux發行版本都包含了UW IMAP服務器。但是在使用的過程中,常常會遇到一些這樣或那樣的問題,本文將討論在使用UW IMAP服務器時會碰到的一些問題,並給出相應的解決辦法,從而達到優化UW IMAP服務器性能的目的。

環境:

我們使用的試驗環境是RedHat7.1,需要用到以下軟件包:

imap-2000-9.rpm 可以從RedHat7.1的安裝光盤中找到。

imap.tar.Z 可以從ftp.cac.washington.edu/imap/imap.tar.Z下載。

思路:

首先我們安裝imap-2000-9.rpm包,這個包中包含了imapd和ipop3在PAM中的認證機制,然後我們將重新編譯後的imapd和ipop3代替rpm包中的imapd和ipop3,這樣避免了自己重新寫PAM的認證規則。

注意:

UW IMAP是沒有配置文件的,所以我們只能通過修改源程序以及采用其他一些輔助措施(比如優化xinetd)來達到對其進行性能調整的目的。但是這並不意味著需要您對linux下的c編程比較熟悉。

步驟:

一、獲得imap源代碼包

可以從ftp.cac.washington.edu/imap/imap.tar.Z下載imap的源代碼包,然後用以下命令解開源代碼包:

#tar xvzf imap.tar.Z

將生成imap-2001.BETA.SNAP-0107221451目錄,然後進入該目錄:

# cd imap-2001.BETA.SNAP-0107221451

二、修改源程序

通過修改源程序可以解決以下問題:

1.認證錯誤時,錯誤信息的出現有較長的延遲

爲了防止別有用心的人猜測密碼,在認證錯誤後,有一段時間的延遲。爲了取消該延遲,可以進入解開的源代碼目錄中的usr/osdep/unix目錄,然後編輯env_unix.c文件,查找sleep關鍵字,將sleep(3)這一行注釋掉。因爲系統是通過該函數來達到延遲的目的的。

2.減小登錄超時時間

在用戶登錄過程中,如果一定時間內沒有輸入用戶名和密碼,系統會認爲該會話超時,將終止會話,缺省超時時間是3分鍾,如果用戶量大,可以通過減小登錄會話超時時間來提高系統性能。

可以進入解開的源代碼目錄中的src/imapd目錄,然後編輯imapd.c文件,找到包含以下信息的一行:

#define LOGINTIMEOUT 3 MINUTES

將其中的3改成1,也即認爲登錄超時時間爲1分鍾。

3.取消DNS反向解析

有時候,系統會對客戶機進行反向DNS解析,這將大大降低系統效率,可以進入解開的源代碼目錄,編輯Makefile文件,找到包含EXTRACFLAGS的一行,將其改成:

EXTRACFLAGS=-DDISABLE_REVERSE_DNS_LOOKUP

從而取消對客戶機的反向DNS解析。

4.如果您想更改存放郵件的文件名,以及缺省的存放目錄,可以具體參考解開的源代碼目錄中的docs目錄,參考其中的CONFIG文件的說明。在無特殊要求時,是不需要這樣做的。

三、編譯

直接使用影子口令進行用戶認證時,可以使用make slx命令進行編譯。

如果要支持PAM則采用make lnp進行編譯。

四、替換源文件

編譯成功後,使用新的imapd和ipop3代替已有的imapd和ipop3:

# cp ipopd/ipop3d /usr/sbin/

# cp imapd/imapd /usr/sbin/

五、重載xinetd

# service xinetd reload

  概述: UW IMAP是由華盛頓大學開發的一個開放源碼的POP/IMAP服務器,這是一個使用的很廣泛的POP/IMAP服務器,象Mandrake、RedHat等比較流行的linux發行版本都包含了UW IMAP服務器。但是在使用的過程中,常常會遇到一些這樣或那樣的問題,本文將討論在使用UW IMAP服務器時會碰到的一些問題,並給出相應的解決辦法,從而達到優化UW IMAP服務器性能的目的。 環境: 我們使用的試驗環境是RedHat7.1,需要用到以下軟件包: imap-2000-9.rpm 可以從RedHat7.1的安裝光盤中找到。 imap.tar.Z 可以從ftp.cac.washington.edu/imap/imap.tar.Z下載。 思路: 首先我們安裝imap-2000-9.rpm包,這個包中包含了imapd和ipop3在PAM中的認證機制,然後我們將重新編譯後的imapd和ipop3代替rpm包中的imapd和ipop3,這樣避免了自己重新寫PAM的認證規則。 注意: UW IMAP是沒有配置文件的,所以我們只能通過修改源程序以及采用其他一些輔助措施(比如優化xinetd)來達到對其進行性能調整的目的。但是這並不意味著需要您對linux下的c編程比較熟悉。 步驟: 一、獲得imap源代碼包 可以從ftp.cac.washington.edu/imap/imap.tar.Z下載imap的源代碼包,然後用以下命令解開源代碼包: #tar xvzf imap.tar.Z 將生成imap-2001.BETA.SNAP-0107221451目錄,然後進入該目錄: # cd imap-2001.BETA.SNAP-0107221451 二、修改源程序 通過修改源程序可以解決以下問題: 1.認證錯誤時,錯誤信息的出現有較長的延遲 爲了防止別有用心的人猜測密碼,在認證錯誤後,有一段時間的延遲。爲了取消該延遲,可以進入解開的源代碼目錄中的usr/osdep/unix目錄,然後編輯env_unix.c文件,查找sleep關鍵字,將sleep(3)這一行注釋掉。因爲系統是通過該函數來達到延遲的目的的。 2.減小登錄超時時間 在用戶登錄過程中,如果一定時間內沒有輸入用戶名和密碼,系統會認爲該會話超時,將終止會話,缺省超時時間是3分鍾,如果用戶量大,可以通過減小登錄會話超時時間來提高系統性能。 可以進入解開的源代碼目錄中的src/imapd目錄,然後編輯imapd.c文件,找到包含以下信息的一行: #define LOGINTIMEOUT 3 MINUTES 將其中的3改成1,也即認爲登錄超時時間爲1分鍾。 3.取消DNS反向解析 有時候,系統會對客戶機進行反向DNS解析,這將大大降低系統效率,可以進入解開的源代碼目錄,編輯Makefile文件,找到包含EXTRACFLAGS的一行,將其改成: EXTRACFLAGS=-DDISABLE_REVERSE_DNS_LOOKUP 從而取消對客戶機的反向DNS解析。 4.如果您想更改存放郵件的文件名,以及缺省的存放目錄,可以具體參考解開的源代碼目錄中的docs目錄,參考其中的CONFIG文件的說明。在無特殊要求時,是不需要這樣做的。 三、編譯 直接使用影子口令進行用戶認證時,可以使用make slx命令進行編譯。 如果要支持PAM則采用make lnp進行編譯。 四、替換源文件 編譯成功後,使用新的imapd和ipop3代替已有的imapd和ipop3: # cp ipopd/ipop3d /usr/sbin/ # cp imapd/imapd /usr/sbin/ 五、重載xinetd # service xinetd reload
󰈣󰈤
王朝萬家燈火計劃
期待原創作者加盟
 
 
 
>>返回首頁<<
 
 
 
 
 熱帖排行
 
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有