• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 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、mysql 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)在不使用 .htaclearcase/" target="_blank" >ccess 的情況下,將其“<Files .htaccess>”部分設置為“None”方式,如果你使用 PHPMYADMIN 進行管理的話,可以使用 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、MYSQL 的優化(/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永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>