天天看點

Linux參數優化(随着經驗的增加持續更新中)

1.調整系統檔案描述符數量,預設為1024  #ulimit -n進行檢視

<code>[root@test1 core]</code><code># ulimit -n</code>

<code>1024</code>

<code>調整方法:</code>

<code>[root@test1 core]</code><code># echo '*    -    nofile    65535' &gt;&gt;/etc/security/limits.conf</code>

<code>注:配置完成後需要重新登入才能生效</code>

<code>65535</code>

2.Linux系統中,TCP連接配接斷開後,會以TIME_WAIT狀态保留一定的時間,然後再釋放端口。當并發請求過 多的時候就會産生大量的TIME_WAIT狀态連接配接,無法及時斷開的話,會占用大量的的端口。此時可以優化TCP的核心參數,來及時将TIME_WAIT狀态的端口清理掉。

配置:/etc/sysctl.conf,清空原有内容,複制以下内容

<code>[root@test1 core]</code><code># cat /etc/sysctl.conf</code>

<code>net.ipv4.tcp_syncookies = 1 </code>

<code>net.ipv4.tcp_tw_reuse = 1 </code>

<code>net.ipv4.tcp_tw_recycle = 1 </code>

<code>net.ipv4.tcp_fin_timeout = 30</code>

<code>net.ipv4.tcp_max_tw_buckets = 6000</code>

<code>net.ipv4.ip_local_port_range = 1024 65536</code>

<code>net.ipv4.tcp_keepalive_time = 30</code>

<code>net.core.rmem_max=16777216</code>

<code>net.core.wmem_max=16777216</code>

<code>net.ipv4.tcp_rmem=4096 87380 16777216</code>

<code>net.ipv4.tcp_wmem=4096 65536 16777216</code>

<code>net.ipv4.tcp_timestamps = 1</code>

<code>net.core.netdev_max_backlog = 30000</code>

<code>net.core.somaxconn = 262144</code>

<code>net.ipv4.tcp_max_syn_backlog = 262144</code>

<code>net.ipv4.tcp_syn_retries = 2</code>

<code>net.ipv4.tcp_synack_retries = 2</code>

參數解釋:

    net.ipv4.tcp_syncookies = 1:該參數與性能無關,用于解決TCP的SYN攻擊,預設已經配置

    net.ipv4.tcp_tw_reuse = 1:表示開啟重用,允許将TIME-WAIT sockets重新用于新的tcp連接配接,預設為0 

    net.ipv4.tcp_tw_recycle = 1:表示開啟TCP連接配接中TIME-WAIT sockets的快速回收,預設為0

    net.ipv4.tcp_fin_timeout = 30:             #縮短預設的TIMEOUT時間

    net.ipv4.tcp_max_tw_buckets = 6000:        #控制最大TIME-WAIT數量

    net.ipv4.ip_local_port_range = 1024 65536: #向外開放的端口範圍

    net.ipv4.tcp_keepalive_time = 30            #長連接配接逾時時間

    net.core.rmem_max=16777216:                #最大接收套接字緩沖區大小

    net.core.wmem_max=16777216:                #最大發送套接字緩沖區大小

    net.ipv4.tcp_rmem=4096 87380 16777216#TCP接收緩沖大小,對應最小、預設、最大

    net.ipv4.tcp_wmem=4096 65536 16777216#TCP發送緩沖大小,對應最小、預設、最大

    net.ipv4.tcp_timestamps = 1         #不帶時間戳節省記憶體空間

    net.core.netdev_max_backlog = 30000#當網絡接口接收速率比核心處理快時允許發到隊列的資料包數目

    net.core.somaxconn = 262144#系統同時發起的TCP連接配接數,超過導緻連接配接逾時或重傳

    net.ipv4.tcp_syn_retries = 2#SYN重試次數

    net.ipv4.tcp_synack_retries = 2#控制核心向已建立連接配接的遠端主機重新發送資料的次數,降低此值,可以盡早的檢測連接配接失效

    net.ipv4.tcp_max_syn_backlog = 262144#此參數暫不知有何用途

本文轉自激情燃燒的歲月部落格51CTO部落格,原文連結http://blog.51cto.com/liuzhengwei521/1884098如需轉載請自行聯系原作者

weilovepan520

繼續閱讀