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

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

  • <strong id="5koa6"></strong>
  • 針對Web服務器總體優化

    發表于:2007-05-25來源:作者:點擊數: 標簽:
    一、文件系統 在fstab里加入noatime,如 #cat/etc/fstab /dev/sda1/homeext3noatime,defaults12 reboot或者重新mount生效 二、Tcp優化 在/etc/sysctl.conf里加入 net.ipv4.netfilter.ip_conntrack_tcp_timeout_syn_recv=3 net.ipv4.tcp_syncookies=1#啟用syn

    一、文件系統
    在fstab里加入noatime,如
    #cat /etc/fstab
    /dev/sda1          /home                  ext3    noatime,defaults        1 2
    reboot或者重新mount生效
    二、Tcp優化
    在/etc/sysctl.conf里加入
    net.ipv4.netfilter.ip_conntrack_tcp_timeout_syn_recv = 3
    net.ipv4.tcp_syncookies = 1 #啟用syncookies
            net.ipv4.tcp_max_syn_backlog = 8192 #定義backlog隊列容納的最大半連接數
    net.ipv4.tcp_fin_timeout = 30
    net.ipv4.tcp_keepalive_time = 1800
    net.ipv4.tcp_window_scaling = 0
    net.ipv4.tcp_sack = 0
    net.ipv4.tcp_timestamps = 0
    [color=blue:b6bef7e40f]老實說,對于sysctl.conf究竟能不能用起來還真不知道,因為我是沒用起來,雖然內核里面是支持的 = =b[/color:b6bef7e40f]
    三、虛擬內存優化
    /etc/sysctl.conf
            vm.lower_zone_protection = 100
    四、I/O調度器
    在grub.conf的相應啟動選項里加入elevator=deadline,如:
    kernel /vmlinuz-2.6.6 ro root=/dev/sda6 elevator=deadline
    這里用了Deadline的I/O調度器,它比系統默認的AnticipatoryI/O調度器更為小巧,在數據吞吐量非常大的數據庫系統中表現得更有優勢。
    五、內核源代碼參數修改
    修改/usr/src/linux/include/linux/posix_types.h
    #define __FD_SETSIZE 1024  65536 
    設置fd_set支持的最大數量
     
    修改/usr/src/linux/include/linux/fs.h
    #define INR_OPEN 1024  65536
    #define NR_FILE 8192  65536
    #define NR_RESERVED_FILES 10  128
    設置最大打開文件數量(TCP連接數量)

    修改/usr/src/linux/include/net/tcp.h
    #define TCP_TIMEWAIT_LEN (60*HZ)  1*HZ
    #define TCP_SYNACK_RETRIES  5  3 
    設置在backlog隊列里的半連接的重試次數,每次都會花相應的時間,本質上
    也是減少重試時間

    make menuconfig中,去掉沒用的選項,打開以下選項的開關:
    High Memory Support (支持4GB以上內存)
    Symmetric multi-processing support (支持多CPU)
    TCP syncookie support (可以防DOS)
    設置文件打開數等的其他方法(好處就是可以不重新編譯內核)
    在 /etc/init.d/sshd里加入(統一加在. /etc/rc.d/init.d/functions行后面)
    [code:1:b6bef7e40f]ulimit -n 65535 >/dev/null 2>&1
    ulimit -u 16384 >/dev/null 2>&1[/code:1:b6bef7e40f]
    重起sshd:nohup /etc/init.d/sshd restart &
    BTW:其實limits.conf不好,因為他需要root su - user遺傳給普通用戶
    如果直接遠程登陸是沒效果的
    六、apache
    1、安裝:采用worker線程工作模式
    [code:1:b6bef7e40f]./configure --prefix=/prefix 
    --enable-mods-shared=all 
    --enable-deflate 
    --with-mpm=worker[/code:1:b6bef7e40f][color=blue:b6bef7e40f]chmod +s /prefix/bin/httpd [/color:b6bef7e40f]#允許普通用戶也可以啟動apache
    2、配置:httpd.conf
    [code:1:b6bef7e40f]Timeout 60
    KeepAlive On
    MaxKeepAliveRequests 150
    KeepAliveTimeout   5

    StartServers         3
    MaxClients         3200   #支持3200個客戶端哦
    ServerLimit        32
    MinSpareThreads     50
    MaxSpareThreads     250
    ThreadLimit   200
    ThreadsPerChild     100
    MaxRequestsPerChild 0

    #上面的幾個參數對機器要求比較高,如果是比較差的機器,每臺機1000個連接最多了,你可能要重新設置參數,我的機器是DELL 2850

    UseCanonicalName Off
    HostnameLookups Off
    ServerSignature Off[/code:1:b6bef7e40f]

     wolfop 回復于:2004-12-10 16:28:23
    用來好多激進的方法啊,apache2的work方式現在穩定了嗎?

     killua 回復于:2004-12-11 13:08:44
    [quote:0eaaf1545e="wolfop"]用來好多激進的方法啊,apache2的work方式現在穩定了嗎?[/quote:0eaaf1545e]

    我是在前兩個月把apache2的工作模式換成worker方式的,都沒有問題哦
    而且經過我這樣升級后,性能提升25%左右,真的,我測試過的

    帖子上有個東東漏掉了,要apache支持3200個客戶端,默認最大支持1024(64*16)個客戶端,所以必須修改apache的源代碼樹下的server/mpm/worker/worker.c
    把 #define DEFAULT_THREAD_LIMIT 64  --> 128 #每個子進程中包含的線程數
       #define DEFAULT_SERVER_LIMIT 16  -->  32  #最大的子進程總數

    注意,不要把這兩個值設得太高,超過系統的處理能力,那就事與愿違了
    現在我的機子能承受每天350W的訪問量,高峰期的load最多到2左右

    Worker模式下所能同時處理的請求總數是由子進程總數乘以ThreadsPerChild值決定的,應該大于等于MaxClients

    大家可以根據自己的實際情況調試一下的。祝大家愉快。   :)

     xiaodi553 回復于:2004-12-11 17:25:19
    在linux下配置www服務起一定要用到apache嗎?

     killua 回復于:2004-12-16 09:03:53
    [quote:952c26dea0="xiaodi553"]在linux下配置www服務起一定要用到apache嗎?[/quote:952c26dea0]

    說實話,除了apache,其他在下還沒接觸過 = =b

     HonestQiao 回復于:2004-12-27 12:59:45
    本文甚好,不過,希望加上所針對的操作系統的說明哦。

     killua 回復于:2004-12-27 13:10:50
    系統環境是 Red Hat Enterprise Linux AS release 3 (Taroon Update 3)
    apache2版本是 2.0.52
    針對[color=blue:8d14730499]apache2的多個空格符號處理拒絕服務漏洞[/color:8d14730499]的那個[color=red:8d14730499]2.0.53-dev[/color:8d14730499]的版本有誰知道哪里下載嗎?
    難道要到cvs里面checkout出來?

     QQ 回復于:2004-12-28 16:35:29
    真厲害,學習下

    原文轉自: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>