LAMP 架構服務器性能優化建議(03/11/2004,R1版)
發表于:2007-05-25來源:作者:點擊數:
標簽:
LAMP架構服務器 性能 優化建議 (03/11/2004,R1版) 出處:http://www.paulgao.com.cn,歡迎轉載。 維護“手機之家”(http://www.imobile.com.cn)的服務器有快兩年了,也有些經驗心得,寫在這里給大家分享。 服務器配置如下:redhatlinux9.0、apache1.3.29
LAMP 架構服務器
性能優化建議
(03/11/2004,R1版)
出處:http://www.paulgao.com.cn,歡迎轉載。
維護“手機之家”(http://www.imobile.com.cn)的服務器有快兩年了,也有些經驗心得,寫在這里給大家分享。
服務器配置如下:redhat linux 9.0、apache 1.3.29、
php 4.3.4、my
sql 3.23.58,以下建議均在以上平臺上跑的很好,當然也跟你的應用有關系,具體實施要根據實際效果來進行。
1、眾所周知的方法就是使用 Zend Optimizer(簡稱 ZO,最新版本為 2.5.1) 或者 Zend Performance Suite(簡稱 ZPS,其中包含 ZO,最新版本為 3.6.0)對
PHP 進行加速。相關軟件可到張微波的主頁來
下載哦,地址為:http://www.5ilinux.com/blog/archives/000093.html。
2、apache配置優化(httpd.conf)
1)修改“Timeout”的值為 30-60,如果你得程序沒有執行時間需要很長的話,可以修改到 10-15;
2)修改“KeepAlive”的值為“Off”,這個很有效果,也很有爭議,我自己的看法是很有效果,而且并沒有影響速度,大家可以自行試驗;
3)修改“MaxRequestsPerChild”的值為“2048”,這個還在試驗中,一是因為怕有內存泄漏,二是因為 apache 進程會因為隨著服務時間的延長,會變得越來越胖(我這里的實際情況是某些 apache 進程會狂吃內存到18MB,暈?。海?,不過這設置有沒有效果,還在試驗中;
4)在不使用 .hta
clearcase/" target="_blank" >ccess 的情況下,將其“<Files .htaccess>”部分設置為“None”方式,如果你使用 PHPMYAD
MIN 進行管理的話,可以使用 PHPMYADMIN 的 COOKIE 權限控制方式。
3、卸載不必要的模塊,不管是靜態編譯還是 DSO 模式,以便節省內存占用。具體模塊可以參照 apache 的手冊,這里就不多說了。PHP 也是同樣,我基本上已經把不用的模塊都卸載了:)
4、使用 mod_gzip 進行加速,很簡單,就不多說了。
5、如果你的服務器還是負載很高的話,更極端的方式就是在 httpd.conf 里面將日志停掉了,不過一般要保留 errorlog 才好,以便排錯,而且要記得,不是把“CustomLog”注釋掉就行了,而要使用“CustomLog /dev/null common”這樣的方式才好。
6、如果你的 PHP 程序使用 Session 對話的話,可以在 php.ini 里面將“session.save_path”設置為“session.save_path = /dev/shm”,因為 /dev/shm 是 linux 系統獨有的 TMPFS 文件系統,是以內存為主要存儲方式的文件系統,比 RAMDISK 要好,因為可以使用 DISKSWAP 作為補充,而且是系統自帶,不需要另行配置,想想吧,從磁盤IO操作到內存操作,速度會快多少?:)你也可以把你所需要的臨時文件都寫在 /dev/shm 下,只是別忘了,重啟就沒有啦,我是只存放目標文件的,呵呵。額外的說明資料請看“使用虛擬內存(virtual memory,VM)文件系統和綁定安裝”(http://www-900.ibm.com/developerWorks/cn/linux/filesystem/l-fs3/index.shtml)。
7、MY
SQL 的優化(/etc/my.cnf)
1)確認在“[mysqld]”部分加入了“skip-innodb”和“skip-bdb”參數;
2)確認在“[mysqld]”部分加入了“skip-name-resolve”和“skip-locking”參數;
3)如果不需要的話,可以將二進制日志(binlog)停掉,方法是將“log-bin”注釋掉;
4)在內存允許的情況下,對一些參數進行重新配置,目標在于將大部分操作集中于內存中,盡量不進行磁盤操作,對于我的 MYSQL 服務器我是如下修改的,基于 2G 內存情況:
[mysqld]
set-variable = key_buffer=512M
set-variable = max_allowed_packet=4M
set-variable = table_cache=1024
set-variable = thread_cache=64
set-variable = join_buffer_size=32M
set-variable = sort_buffer=32M
set-variable = record_buffer=32M
set-variable = max_connections=512
set-variable = wait_timeout=120
set-variable = interactive_timeout=120
set-variable = max_connect_errors=30000
set-variable = long_query_time=1
set-variable = max_heap_table_size=256M
set-variable = tmp_table_size=128M
set-variable = thread_concurrency=8
set-variable = myisam_sort_buffer_size=128M
你可以根據“show status”命令返回的狀態進行微調。我主要注意以下變量的數值,越小越好,最好為零:)
Created_tmp_disk_tables
Created_tmp_tables
Created_tmp_files
Slow_queries
8、在啟動腳本中使用“--log-slow-queries=/home/logs/mysql_slow.log”參數,以便進行 SQL 語句的優化工作,這個其實是很很重要的工作。記得一定要在 my.cnf 中設置“set-variable = long_query_time=1”才行。
9、另外可以使用 4.0.xx 版本的 MYSQL,4.0.xx 版本除了一些性能提升以外,還有 QueryCache 方法,就是在 SQL 語句查詢結果沒有變動之前,將其結果進行緩存,下次再進行同樣的 SQL 語句查詢就可以直接反回結果,當然也是以犧牲內存為前提:)
10、額外的,對于
LINUX EXT3 文件系統還有一個小技巧可用,就是在修改 /etc/fstab 中的參數,比如“/dev/sdb2 /home ext3 defaults 1 2”改為“/dev/sdb2 /home ext3 noatime 1 2”,“noatime”的意思就是不修改 accesstime,對于磁盤文件讀寫頻繁的服務器也應該可以降低一些效果。不過最好不要遠程操作,不然因為修改失誤,服務器不能啟動了,可別怪我:)
好了,基本上我用過的方法已經說過一遍了,有些方法是取自于一些很好的文章,由于未作保留,所以無法寫出出處,只能泛泛的表示感謝了。其中有些方法也適用于
Windows 平臺,大家可以根據自己的服務器、應用情況去進行應用,大家也可一說說自己的辦法,比如改用 ZEUS 來做 webserver,我也在找更多的辦法來提升服務器性能,比如基于 LINUX KERNEL v2.4 以上內核的一些性能優化方法,從 
.network 到 swap(因為內核升級,所以一些老版本內核的方法已經不能再使用了:)。我也會進一步更新這篇文章,讓大家能夠更好的進行服務器的性能提升工作~
另外歡迎來訪問國內數一數二的手機網站,手機之家,地址見下,呵呵~
高春輝
mailto:paulgao@yeah.net
手機之家網站(http://www.imobile.com.cn)
zhangweibo 回復于:2004-03-12 08:37:05
|
呵呵,親身體會,非常經典
|
fxdfbl 回復于:2004-03-13 17:20:35
|
呵呵,我試了一下,希望能給我帶來一些幫助,~~感謝樓主發了這么好的貼 ~~不過手機之家那個網站不是很安全的說~不知道在防火墻方面做得如何?
|
fxdfbl 回復于:2004-03-13 17:38:12
|
呵呵,我試了一下,希望能給我帶來一些幫助,~~感謝樓主發了這么好的貼 ~~不過手機之家那個網站不是很安全的說~不知道在防火墻方面做得如何?
|
paulgao 回復于:2004-03-14 09:10:34
|
我主要做的是應用,安全問題考慮的少,不要黑我哦:)
|
znsoft 回復于:2004-03-15 09:35:00
|
暈。 大家都不務正業了.
沈陽華儲bbs的高也來這兒瞎混了?
哎, 只記得沈陽的高春輝了...
|
znsoft 回復于:2004-03-15 09:36:52
|
也學著來一句廣告吧:
歡迎訪問國內no.1的內核開發站點: 驅動開發網 見簽名.
|
原文轉自:http://www.kjueaiud.com
老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月
|