LAMP服務器性能優化技巧之Linux主機優化

發布時間:2017-03-23 09:11 來源:互聯網 當前欄目:web技術類

目前LAMP (Linux + Apache + MySQL + PHP) 近幾年來發展迅速,已經成為Web 服務器的事實標準。

LAMP這個詞的由來最早始于德國雜志“c't Magazine”,Michael Kunze在1990年最先把這些項目組合在一起創造了LAMP的縮寫字。這些組件雖然并不是開開始就設計為一起使用的,但是,這些開源軟件都可以很方便的隨時獲得并免費獲得。這就導致了這些組件經常在一起使用。在過去的幾年里,這些組件的兼容性不斷完善,在一起的應用情形變得非常普便。為了改善不同組件之間的協作,已經創建了某些擴展功能。目前,幾乎在所有的Linux發布版中都默認包含了“LAMP stack”的產品。這些產品組成了一個強大的Web應用程序平臺。“LAMP stack”中的每一個組件都是一個FOSS(免費或者開源軟件/Free or Open Source Software)的實例。

FOSS方法的好處有三個方面。

第一,FOSS軟件的性質意味著應用程序可以免費下載,能夠讓更廣泛的人們不用付費就可以使用這個應用軟件。這種免費的方式對于廣大用戶特別具有吸引力。這些用戶如果不使用免費的軟件就需要付費購買“專業”的商用軟件工具。這在制作網站方面通常是一種昂貴的步驟。

第二,FOSS許可證是開放式的,因此對于基于FOSS技術的應用軟件的使用和限制都非常少。不需要為軟件的發布支付任何許可證費就可以開發和應用基于LAMP的工程。因此,這對業余愛好者和專業人員都非常有吸引力。FOSS技術(包括LAMP)的增長和使用的主要原因是因為用戶能夠訪問其資源,修復故障和改善應用軟件的性能都非常容易。

與開源軟件許可證結合在一起,這種方法為許多企業簡化了開發過程,并且為企業提供了專有軟件或者商業軟件的限制中所沒有的靈活性。

本文我們將介紹基于LAMP組合的服務器的性能優化技巧:

LAMP優化:清理服務器磁盤碎片

不論Linux文件系統采用什么文件格式(ext3、JFS、XFS、ReiserFS )、何種類型的硬盤(IDE 、SCSI),隨著時間的推移文件系統都會趨向于碎片化。ext3、JFS等高級文件系統可以減少文件系統的碎片化,但是并沒有消除。在繁忙的數據庫服務器中,隨著時間的過去,文件碎片化將降低硬盤性能,硬盤性能從硬盤讀出或寫入數據時才能注意到。時間長了會發現每個磁盤上確實積累了非常多的垃圾文件,釋放磁盤空間可以幫助系統更好地工作。Linux最好的整理磁盤碎片的方法是做一個完全的備份,重新格式化分區,然后從備份恢復文件。但是對于7×24小時工作關鍵任務服務器來說是比較困難的。

Kleandisk是一個高效的磁盤清理工具,它能把磁盤上的文件分成不同的"組",比如把所有的"core"文件歸成一組(Group),這樣要刪除所有core文件時只要刪除這個組就行了。core文件是當軟件運行出錯時產生的文件,它對于軟件開發人員比較有用,對于其他用戶(比如電子郵件服務器)卻沒有任何意義。因此,如果沒有軟件開發的需要,見到core文件就可以將其刪除。

LAMP優化:開啟硬盤DMA

現在使用的IDE硬盤基本支持DMA66/100/133(直接內存讀取)但是Linux發行版本安裝后一般沒有打開,可以/etc/rc.d/rc.local 最後面加上一行: /sbin/hdparm -d1 –x66 -c3 -m16 /dev/hda 這樣以后每次開機,硬盤的 DMA 就會開啟,不必每次手動設定。添加前后你可以使用命令:hdparm -Tt /dev/hda 來測試對比一下。

LAMP優化:調整緩沖區刷新參數

Linux內核中,包含了一些對于系統運行態的可設置參數。緩沖刷新的參數可以通過調整 /proc/sys/vm/bdflush文件來完成,這個文件的格式是這樣的:

# cat /proc/sys/vm/bdflush   30 64 64 256 500 3000 60 0 0   

每一欄是一個參數,其中最重要的是前面幾個參數。第一個數字是在"dirty"緩沖區達到多少的時候強制喚醒bdflush進程刷新硬盤,第二個數字是每次讓bdflush進程刷新多少個dirty塊。所謂dirty塊是必須寫到磁盤中的緩存塊。接下來的參數是每次允許bd flush將多少個內存塊排入空閑的緩沖塊列表。 以上值為RHEL 4.0中的缺省值。可以使用兩種方法修改:

  • 1、
  • 2、
  • 3、
  • 4、
  • 5、
  • 6、
  • 7、
  • 8、
  • 9、
  • 10、
  • 11、
  • 12、
  • 13、
  • 14、
  • 15、
  • 16、
  • 17、
  • 18、
  • 19、
  • 20、
  • 21、
  • 22、
  • 23、
  • 24、
  • 25、
  • 1、
  • 2、
  • 3、
  • 4、
  • 5、
  • 6、
  • 7、
  • 8、
  • 9、
  • 10、
  • 11、
  • 12、
  • 13、
  • 14、
  • 15、
  • 16、
  • 17、
  • 18、
  • 19、
  • 20、
  • 21、
  • 22、
  • 23、
  • 24、
  • 25、