Linux服務器有各種用途,如Web服務器或分支機構內部服務器,CMS或CRS服務器,文件服務器(為Windows和/或Linux用戶服務),VoIP電話服務器,郵件或域名服務器,數據庫服務器,雲計算配置中的基礎設施節點等。
Linux功能豐富、強大、靈活,你可以用它完成各種任務,在這篇文章中,我們將討論一些提高Linux服務器性能的技巧。
1、為磁盤I/O調整Linux內核電梯算法
在選擇文件系統後,有一些內核和掛載選項可能會影響到它的性能表現,其中一個內核設置是電梯算法,通過調整電梯算法,系統可以平衡低延遲需求,收集足夠的數據,以有效地組織對磁盤的讀和寫請求。
2、禁用不必要的守護進程,節省內存和CPU資源
每台服務器上都運行著許多守護進程或服務,而具有諷刺意味的是,有很多通常不是必需的,這些服務沒有發揮作用,但卻消耗了寶貴的內存和CPU時間。此外,它們可能將服務器置於危險境地,多運行一個服務就等於多向黑客打開一扇長驅直入的門,因此,你應該將它們從服務器移除,禁用它們最大的好處是可以加快啟動時間,釋放內存。另外,你可以減少CPU需要處理的進程數,禁用它們的另一個好處是增強服務器的安全性,因為越少的守護進程意味著可被攻擊和利用的漏洞越少。
下面是一些應該被禁用的Linux守護進程,默認情況下,它們都是自動運行的:
序號 守護進程 描述 1 Apmd 高級電源管理守護進程 2 Nfslock 用於NFS文件鎖定 3 Isdn ISDN Moderm支持 4 Autofs 在後台自動掛載文件系統(如自動掛載CD-ROM) 5 Sendmail 郵件傳輸代理 6 Xfs X Window的字體服務器3、關掉GUI
一般說來,Linux服務器是不需要GUI的,所有管理任務都可以在命令行下完成,因此最好關掉GUI,重定向X顯示或通過一個Web浏覽器界面顯示。為了禁用GUI,“init level(啟動級別)”應該被設置為3(命令行登錄),而不是5(圖形登錄),如果需要GUI,可以隨時運行startx進入圖形用戶界面。
4、清理不需要的模塊或功能
在服務器軟件包中有太多被啟動的功能或模塊實際上是不需要的(如Apache中的許多功能模塊),仔細查看Apache配置文件,確定FrontPage支持或其它額外的模塊是否真的要用到,如果不需要,應該毫不猶豫地從服務器禁用掉,這樣有助於提高系統內存可用量,騰出更多資源給那些真正需要的軟件,讓它們運行得更快。
5、禁用控制面板
在Linux中,有許多流行的控制面板,如Cpanel,Plesk,Webmin和phpMyAdmin等,相信每個Linux初級用戶都很喜歡這些控制面板,但是,禁用掉這些軟件包可以釋放出大約120MB內存,因此,我強烈建議禁用掉這些控制面板,除非它們真的需要用到,它們可以通過PHP腳本(盡管有些不安全),或命令行命令啟用,這樣做後,內存使用量大約可以下降30-40%。
6、改善Linux Exim服務器性能
有許多種方法改善服務器的Exim性能,其中一個辦法是使用DNS緩存守護進程,它可以降低解析DNS記錄需要的帶寬和CPU時間,DNS緩存通過消除每次都從根節點開始查找DNS記錄的需求,從而改善網絡性能,Djbdns是一個非常強大的DNS服務器,它具有DNS緩存功能,Djbdns比BIND DNS服務器更安全,性能更好,可以直接通過http://cr.yp.to/下載,或通過Red Hat提供的軟件包獲得。
7、使用AES256增強gpg文件加密安全
為了提高備份文件或敏感信息的安全,許多Linux系統管理員都會使用gpg進行加密,在使用gpg時,最好指定gpg使用AES256加密算法,AES256使用256位密鑰,它是一個開放的加密算法,美國國家安全局(NSA)都使用它保護絕密信息,沒有什麼比它更安全的了。
8、遠程備份服務安全
安全是選擇遠程備份服務最重要的因素,大多數系統管理員都害怕兩件事:(黑客)可以刪除備份文件,不能從備份恢復系統。
為了保證備份文件100%的安全,備份服務公司提供遠程備份服務器,使用scp腳本或RSYNC通過SSH傳輸數據,這樣,沒有人可以直接進入和訪問遠程系統,因此,也沒有人可以從備份服務刪除數據。在選擇遠程備份服務提供商時,最好從多個方面了解其服務強壯性,如果可以,可以親自測試一下。
9、更新默認內核參數設置
為了順利和成功運行企業應用程序,如數據庫服務器,可能需要更新一些默認的內核參數設置,例如,2.4.x系列內核消息隊列參數msgmni有一個默認值(例如,共享內存,或shmmax在Red Hat系統上默認只有33554432字節),它只允許有限的數據庫並發連接,下面為數據庫服務器更好地運行提供了一些建議值(來自IBM DB2支持網站):
kernel.shmmax=268435456 (32位) kernel.shmmax=1073741824 (64位) kernel.msgmni=1024 fs.file-max=8192 kernel.sem=”250 32000 32 1024″
10、優化TCP
優化TCP協議有助於提高網絡吞吐量,跨廣域網的通信使用的帶寬越大,延遲時間越長時,建議使用越大的TCP Linux大小,以提高數據傳輸速率,TCP Linux大小決定了發送主機在沒有收到數據傳輸確認時,可以向接收主機發送多少數據。