溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Linux生產(chǎn)服務(wù)器如何優(yōu)化

發(fā)布時間:2022-01-19 15:00:53 來源:億速云 閱讀:127 作者:iii 欄目:服務(wù)器

這篇文章主要介紹“Linux生產(chǎn)服務(wù)器如何優(yōu)化”,在日常操作中,相信很多人在Linux生產(chǎn)服務(wù)器如何優(yōu)化問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Linux生產(chǎn)服務(wù)器如何優(yōu)化”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

一、時間同步

生產(chǎn)環(huán)境下的服務(wù)器對時間的要求是精準(zhǔn)的,我的郵件服務(wù)器的dovecot服務(wù),以前經(jīng)常因為時間問題自動停止服務(wù),建議編輯

vim /etc/crontab

至今每天跟ntp時間服務(wù)器自動對時一次:

14 04 * * * root /usr/sbin/ntpdate ntp.api.bz > /dev/null 2>&1

二、啟用內(nèi)核中的SYN cookie保護:

echo "1" > /proc/sys/net/ipv4/tcp_syncookies

執(zhí)行以下命令使內(nèi)核配置立馬生效:

/sbin/sysctl -p

三、Squid服務(wù)器變慢的解決方法

如果自己的生產(chǎn)服務(wù)器是squid緩存服務(wù)器,當(dāng)發(fā)現(xiàn)系統(tǒng)變慢或打開網(wǎng)頁變慢時可輸入下列命令:

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

這條命令可以把當(dāng)前系統(tǒng)的網(wǎng)絡(luò)連接狀態(tài)分類匯總,由此分析出系統(tǒng)變慢的原因。

Linux下高并發(fā)的Squid服務(wù)器,TCP TIME_WAIT套接字數(shù)量經(jīng)常達到兩、三萬,服務(wù)器很容易被拖死。通過修改Linux內(nèi)核參數(shù),可以減少Squid服務(wù)器的TIME_WAIT套接字數(shù)量。

vim /etc/sysctl.conf

增加以下幾行:

net.ipv4.tcp_fin_timeout = 30 net.ipv4.tcp_keepalive_time = 1200 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_tw_recycle = 1 net.ipv4.ip_local_port_range = 1024 65000 net.ipv4.tcp_max_syn_backlog = 8192 net.ipv4.tcp_max_tw_buckets = 5000

說明:

net.ipv4.tcp_tw_reuse = 1 表示開啟重用。允許將TIME-WAIT sockets重新用于新的TCP連接,默認為0,表示關(guān)閉;

net.ipv4.tcp_tw_recycle = 1 表示開啟TCP連接中TIME-WAIT sockets的快速回收,默認為0,表示關(guān)閉。

net.ipv4.tcp_fin_timeout = 30 表示如果套接字由本端要求關(guān)閉,這個參數(shù)決定了它保持在FIN-WAIT-2狀態(tài)的時間。

net.ipv4.tcp_keepalive_time = 1200 表示當(dāng)keepalive起用的時候,TCP發(fā)送keepalive消息的頻度。缺省是2小時,改為20分鐘。

net.ipv4.ip_local_port_range = 1024 65000 表示用于向外連接的端口范圍。缺省情況下很小,改為1024到65000。

net.ipv4.tcp_max_syn_backlog = 8192 表示SYN隊列的長度,默認為1024,加大隊列長度為8192,可以容納更多等待連接的網(wǎng)絡(luò)連接數(shù)。

net.ipv4.tcp_max_tw_buckets = 5000表示系統(tǒng)同時保持TIME_WAIT套接字的***數(shù)量,如果超過這個數(shù)字,TIME_WAIT套接字將立刻被清除并打印警告信息。默認為180000,改為5000。對于Apache、Nginx等服務(wù)器,上幾行的參數(shù)可以很好地減少TIME_WAIT套接字數(shù)量,但是對于Squid,效果卻不大。此項參數(shù)可以控制TIME_WAIT套接字的***數(shù)量,避免Squid服務(wù)器被大量的TIME_WAIT套接字拖死。

執(zhí)行以下命令使內(nèi)核配置立馬生效:

/sbin/sysctl -p

四、Nginx服務(wù)器的情況

如果服務(wù)器是Nginx負載均衡器或用于Nginx+PHP5的web服務(wù)器,此二項也必須打開:

net.ipv4.tcp_tw_reuse = 1 #允許將TIME-WAIT sockets重新用于新的TCP連接

net.ipv4.tcp_tw_recycle = 1 #開啟TCP連接中TIME-WAIT sockets的快速回收

執(zhí)行以下命令使內(nèi)核配置立馬生效:

/sbin/sysctl -p

五、調(diào)整Linux的***文件打開數(shù)

Linux***文件打開數(shù)的默認值很低,必須修改的高一些,否則squid服務(wù)器在高負載時執(zhí)行性能將很低。

vim /etc/security/limit.conf ,在***一行添加

* soft nofile 60000 * hard nofile 65535

值得注意的是,通過命令ulimit -SHn是改變不了linux系統(tǒng)的***文件打開數(shù)的,寫進/etc/rc.d/rc.local也是不行的。

六、只開啟必須的服務(wù)

只開啟必須的服務(wù),其它均可關(guān)閉。以下列出的服務(wù)可開啟:

crond  irqbalance  microcode_ctl  network  random  sshd  syslog

iptables這個待定。如果前端有硬件防火墻;這個也可以關(guān)閉,反之不行。

下面的命令可檢查運行在5級別的服務(wù),3級以此類推

chkconfig -- list | awk '{print $1 "    " $7}' | grep 5:on

檢查下打印服務(wù),此服務(wù)經(jīng)常成漏網(wǎng)之魚,關(guān)掉它。

service cups stop chkconfig cups off

chkconfig這條命令會關(guān)掉3和5級別的服務(wù)。

七、停止ipv6

線上跑的Linux服務(wù)器,絕大多數(shù)是64位的CentOS。CentOS默認的狀態(tài)下,ipv6是被啟用的狀態(tài)。因為我們不使用ipv6,所以,停止ipv6能夠以***限度保證安全和快速。

vim /etc/modprobe.conf

修改此配置文件,添加如下行到文尾:

alias net-pf-10 off alias ipv6 off echo "IPV6INIT=no" >> /etc/sysconfig/network-scripts/ifcfg-eth0

八、開啟RHEL的網(wǎng)卡激活模式

如果服務(wù)器的系統(tǒng)是RHEL,就需要開啟RHEL默認的網(wǎng)卡激活模式為ONBOOT。感覺這也算是RHEL的一個小bug吧:筆者替客戶維護的某臺RHEL應(yīng)用服務(wù)器,居然六塊網(wǎng)卡,在ONBOOT關(guān)閉的時候,有的啟動,有的不啟動,汗噢。我還特的向客戶咨詢了這個問題,客戶答曰:買多了……

vim /etc/sysconfig/network-scripts/ifcfg-eth0,eth2

eth2為第二網(wǎng)卡,其它依此內(nèi)推。

ONBOOT=YES

然后重啟網(wǎng)絡(luò)服務(wù)生效

service network restart

九、Linux內(nèi)存管理

Linux內(nèi)存管理模式跟windows不一樣,它的原則是有多少就用多少。很多Linux新手喜歡用命令free -m觀察,發(fā)現(xiàn)free所剩無余后想辦法去優(yōu)化內(nèi)存;其實就走進了一個誤區(qū),linux本身的內(nèi)存模式就很好了,為了提高磁盤存取效率,Linux做了一些精心的設(shè)計,除了對dentry進行緩存(用于VFS,加速文件路徑名到inode的轉(zhuǎn)換),還采取了兩種主要Cache方式:Buffer Cache和Page Cache。前者針對磁盤塊的讀寫,后者針對文件inode的讀寫。這些Cache有效縮短了 I/O系統(tǒng)調(diào)用(比如read,write,getdents)的時間。

到此,關(guān)于“Linux生產(chǎn)服務(wù)器如何優(yōu)化”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI