Linux:Linux 處在最低層,提供操作系統。其他每個組件實際上也在 Linux 上運行。但是,並不一定侷限於 Linux,如有必要,其他組件也可以在 Microsoft® Windows®、Mac OS X 或 UNIX® 上運行。
Apache:次低層是 Apache,它是一個 Web 服務器。Apache 提供可讓用戶獲得 Web 頁面的機制。Apache 是一款穩定的、支持關鍵任務的服務器,Internet 上超過 65% 的網站都使用它作為 Web 服務器。PHP 組件實際上是在 Apache 中,動態頁面可以通過 Apache 和 PHP 創建。
MySQL:MySQL 提供 LAMP 系統的數據存儲端。有了 MySQL,便可以獲得一個非常強大的、適合運行大型複雜站點的數據庫。在 Web 應用程序中,所有數據、產品、帳戶和其他類型的信息都存放在這個數據庫中,通過 SQL 語言可以很容易地查詢這些信息。
PHP:PHP 是一門簡單而有效的編程語言,它像是粘合劑,可以將 LAMP 系統所有其他的組件粘合在一起。您可以使用 PHP 編寫能訪問 MySQL 數據庫中的數據和 Linux 提供的一些特性的動態內容。
[檢測工具]
為了得到完整的調試結果,建議你採用 ApacheBench 或者 httperf之類的軟件。如果你對非 LAMP 架構的服務器測試有興趣的話,建議你採用微軟的免費軟件: Web Application Stress Tool(需要 NT 或者 2000)。(其它服務器測試工具)
檢測 Apache ,採用 top d 1 顯示所有進程的 CPU 和內存情況。另外,還採用 apachectl status 命令
[硬件優化]
1、升級硬件的一般規則:對於 PHP 腳本而言,主要的瓶頸是 CPU ,對於靜態頁面而言,瓶頸是內存和網絡。一台 400 Mhz 的普通奔騰機器所下載的靜態頁面就能讓 T3 專線(45Mbps)飽和。
2、採用 hdparm 來優化磁盤,一般能提升 IDE 磁盤讀寫性能 200%,但是對 SCSI 硬盤也有效果。(不同類型的硬盤對比)
[策略優化]
3、Apache 處理 PHP 腳本的速度要比靜態頁面慢 2-10 倍,因此儘量採用多的靜態頁面,少的腳本。
4、PHP 腳本如果不做緩衝,每次調用都需要編譯,因此,安裝一個 PHP 緩衝產品能提升 25-100% 的性能。
5、如果你採用了 Linux 系統,建議升級內核到 2.4,因為靜態頁面由內核服務。
6、另外一項緩衝技術是把不常修改的 PHP 頁面採用 HTML 緩衝輸出。
7、不要在 Web 服務器上運行 X-Windows ,關掉沒有必要運行的進程。
8、如果能夠用文本就不要用圖像,儘量減小圖片的尺寸。
9、分散負載,把數據庫服務器放到另外的機器上去。採用另外低端的機器服務圖片和 HTML 頁面,如果所有的靜態頁面在另外一台服務器上處理,可以設置 httpd.conf 中的 KeepAlives 為 off ,來減少斷開連接的時間。
10、以上所有的方法都是針對單機而言的,如果你覺得系統還是不夠快,可以採用集群,負載均衡,緩衝技術。採用 Squid 作為緩衝,配置 Squid 的方法。