Centos最佳化一

來源:互聯網
上載者:User

標籤:

下面是最佳化部分,最佳化的前提是核心版本是需要3.7以上,查看核心版本,執行命令
uname -a
會返回你的核心資訊。


接著我們要進行一些最佳化,這才是選擇CentOS 7 x64系統的主要原因。

重啟之後,我們用PUTTY重新登陸伺服器。

首先我們要在系統中啟用TCP Fast Open
運行命令

echo 3 > /proc/sys/net/ipv4/tcp_fastopen

需要重啟後也生效TCP Fast Open ,要編輯sysctl.conf
運行

vi /etc/sysctl.conf

按鍵盤i建進入編輯模式,游標移到底部空行處,複製以下內容。
————————————————複製以下內容————————
net.ipv4.tcp_fastopen = 3
————————————————複製以上內容————————
複製完成後,回個車,為底部再留下空行,按鍵盤Esc 鍵退出編輯模式,輸入:wq斷行符號,儲存並退出。

增加tcp串連數量
運行命令
vi /etc/security/limits.conf
按鍵盤i建進入編輯模式,游標移到底部# End of file上面一行空白處
,複製以下內容。
————————————————複製以下內容————————
* soft nofile 51200
* hard nofile 51200
————————————————複製以上內容————————
複製完成後,回個車,為底部再留下空行,按鍵盤Esc 鍵退出編輯模式,輸入:wq斷行符號,儲存並退出。

運行命令
ulimit -n 51200


接著我們要調整TCP擁塞控制演算法為hybla

首先科普下TCP擁塞控制演算法:
中美之間的線路品質不是很好,rtt較長且時常丟包。TCP的設計目的是解決不可靠線路上可靠傳輸的問題,即為瞭解決丟包,但丟包卻使TCP傳輸速度大幅下降。HTTP協議在傳輸層使用的是TCP協議,所以網頁下載的速度就取決於TCP單線程下載的速度(因為網頁就是單線程下載的)。丟包使得TCP傳輸速度大幅下降的主要原因是丟包重傳機制,控制這一機制的就是TCP擁塞控制演算法。
Linux核心中提供了若干套TCP擁塞控制演算法,這些演算法各自適用於不同的環境。
1)reno是最基本的擁塞控制演算法,也是TCP協議的實驗原型。
2)bic適用於rtt較高但丟包極為罕見的情況,比如北美和歐洲之間的線路,這是2.6.8到2.6.18之間的Linux核心的預設演算法。
3)cubic是修改版的bic,適用環境比bic廣泛一點,它是2.6.19之後的linux核心的預設演算法。
4)hybla適用於高延時、高丟包率的網路,比如衛星鏈路——同樣適用於中美之間的鏈路。
我們需要做的工作就是將TCP擁塞控制演算法改為hybla演算法,並且最佳化TCP參數。


運行
sysctl net.ipv4.tcp_available_congestion_control

會得到 net.ipv4.tcp_available_congestion_control = cubic reno
表示我們系統的TCP擁塞控制演算法只能選擇cubic或者reno算髮,hybla演算法並沒有啟用,我們就要啟用hybla演算法。

運行
/sbin/modprobe tcp_hybla

sysctl net.ipv4.tcp_available_congestion_control
得到net.ipv4.tcp_available_congestion_control = cubic reno hybla
這時表明hybla已經可以使用了。

運行
cp /etc/sysctl.conf /root/
這個是複製sysctl.conf檔案,作個備份


修改sysctl.conf檔案,最佳化TCP參數
vi /etc/sysctl.conf
按鍵盤i建進入編輯模式,游標移到剛才複製的net.ipv4.tcp_fastopen = 3的下面一行,複製以下內容。
————————————————複製以下內容————————
fs.file-max = 51200
#提高整個系統的檔案限制
net.core.rmem_max = 67108864
net.core.wmem_max = 67108864
net.core.netdev_max_backlog = 250000
net.core.somaxconn = 3240000

net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 0
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.ip_local_port_range = 10000 65000
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_max_tw_buckets = 5000
net.ipv4.tcp_fastopen = 3
net.ipv4.tcp_rmem = 4096 87380 67108864
net.ipv4.tcp_wmem = 4096 65536 67108864
net.ipv4.tcp_mtu_probing = 1
net.ipv4.tcp_congestion_control = hybla
————————————————複製以上內容————————
複製完成後,回個車,為底部再留下空行,按鍵盤Esc 鍵退出編輯模式,輸入:wq斷行符號,儲存並退出。

運行

sysctl -p

使上面的配置生效。

至此,最佳化也完成了。你可以盡情使用。

註:如需要檢查TCP Fast Open有沒有生效運行
sysctl net.ipv4.tcp_fastopen
得到 net.ipv4.tcp_fastopen = 3,表示已經成功生效了。

Centos最佳化一

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.