歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

淺談linux性能優化之二十一:分析郵件系統

淺談linux性能優化之二十一:分析郵件系統   淺談linux性能調優之二十:模塊管理與內核編譯 http://www.2cto.com/os/201308/235094.html   郵件應用服務可以允許延遲,沒有像web,數據庫那樣實時性要求強,響應快。對於這種應用在設計上就比較特別,我給出postfix的進程信息:   # service type  private unpriv  chroot  wakeup  maxproc command + args #               (yes)   (yes)   (yes)   (never) (100) # ========================================================================== smtp      inet  n       -       n       -       -       smtpd #628      inet  n       -       n       -       -       qmqpd pickup    fifo  n       -       n       60      1       pickup cleanup   unix  n       -       n       -       0       cleanup qmgr      fifo  n       -       n       300     1       qmgr #qmgr     fifo  n       -       n       300     1       oqmgr tlsmgr    unix  -       -       n       1000?   1       tlsmgr rewrite   unix  -       -       n       -       -       trivial-rewrite bounce    unix  -       -       n       -       0       bounce defer     unix  -       -       n       -       0       bounce trace     unix  -       -       n       -       0       bounce verify    unix  -       -       n       -       1       verify flush     unix  n       -       n       1000?   0       flush proxymap  unix  -       -       n       -       -       proxymap proxywrite unix -       -       n       -       1       proxymap smtp      unix  -       -       n       -       -       smtp     可以看出pickup進程會周期的被喚醒來檢查新收到的郵件,然後交給cleanup做處理,這些信息管理員可以手動調節,qmgr隊列管理器也類似     搭建過郵件服務器的管理員應該知道,一般是自己在服務器創建虛擬域,像[email protected],然後對應到本地一個普通用戶的一個家目錄的,以XXXXXX為名的目錄裡不同的文件便是XXXXXX用戶的信件,很多的小文件(一般使用maildir形式存儲信件,mailbox存在文件鎖的問題)這裡可以明文的哦。這裡要注意的是linux下郵件服務器若是采用ext3,ext4文件系統,就可能出現inode耗盡的情況,具體可以參考我之前寫過的“文件系統格式化的考慮”,當然若使用gfs這樣的集群文件系統,就不必考慮這樣的問題了      磁盤: 郵件系統的一個最大的問題是:不是很多大文件的讀寫,而是很多小文件的讀寫,而且這些讀寫請求是來自同一時間的多個進程或者線程:假設一個信件由服務器postfix收到,先是pickup發現並讀出,再交給cleanup,可能調用rewrite對地址進行改寫,最後在進入incoming隊列,由smtp處理 對很多小文件的應用服務,推薦使用deadline算法進行I/O調度     內存: 對於postfix而言,它的每一個進程不會消耗太多的內存,我們期望的是大量的內存被自動使用到磁盤緩存中來提高磁盤I/O速率,當然這個我們不需要操作,linux幫我們完成了!Linux虛擬內存管理默認將所有空閒內存空間都作為硬盤緩存。因此在擁有數GB內存的生產性Linux系統中,經常可以看到可用的內存只有20MB。     處理器: 對於郵件系統,不管是smtp,imap對CPU的占用都不是很大   網絡: 盡管對於郵件系統而言,會頻繁的使用網絡子系統,但是郵件系統的瓶頸還是磁盤的吞吐而不是網絡的吞吐,對應這種應用不要求交互,延遲是允許!當然對於一些常用的網絡內核參數還是有必要調節的!   這些只是在系統級別簡單分析一下,對於應用服務:郵件服務器,Web服務器,數據庫服務器這些,對服務本身分析也很重要,對於服務工作方式,資源占用,還用安全防范等多個方面考慮調優,效果可能更好!                
Copyright © Linux教程網 All Rights Reserved