歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> 淺談linux性能優化之二十一:分析郵件系統

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

日期:2017/3/1 14:14:47   编辑:關於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