自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

優(yōu)化Linux生產(chǎn)服務(wù)器的經(jīng)驗(yàn)之談

原創(chuàng)
運(yùn)維 系統(tǒng)運(yùn)維
生產(chǎn)環(huán)境下的Linux服務(wù)器有精準(zhǔn)、穩(wěn)定、高效、安全等需求,其優(yōu)化也是有著很多的竅門(mén)。本文分享了九條平時(shí)進(jìn)行Linux生產(chǎn)服務(wù)器優(yōu)化的經(jīng)驗(yàn),內(nèi)容涉及郵件服務(wù)器、Web服務(wù)器、網(wǎng)絡(luò)配置、內(nèi)存管理等方面。

【51CTO獨(dú)家特稿】如何優(yōu)化自己的Linux生產(chǎn)服務(wù)器?本文結(jié)合實(shí)際的工作經(jīng)驗(yàn),總結(jié)了優(yōu)化Linux生產(chǎn)服務(wù)器的九大要點(diǎn)。如果有些方法您尚未采用,不妨一試。

一、時(shí)間同步

生產(chǎn)環(huán)境下的服務(wù)器對(duì)時(shí)間的要求是精準(zhǔn)的,我的郵件服務(wù)器的dovecot服務(wù),以前經(jīng)常因?yàn)闀r(shí)間問(wèn)題自動(dòng)停止服務(wù),建議編輯

vim /etc/crontab

至今每天跟ntp時(shí)間服務(wù)器自動(dòng)對(duì)時(shí)一次:

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

參考閱讀:Linux新手學(xué)堂 Crontab命令的實(shí)用方法

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

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

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

/sbin/sysctl -p

參考閱讀:SYN 攻擊原理以及防范技術(shù)

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

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

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)變慢的原因。

51CTO編輯推薦:七大實(shí)用命令行工具 玩轉(zhuǎn)Linux網(wǎng)絡(luò)配置

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

vim /etc/sysctl.conf

增加以下幾行:

  1. net.ipv4.tcp_fin_timeout = 30 
  2. net.ipv4.tcp_keepalive_time = 1200 
  3. net.ipv4.tcp_tw_reuse = 1 
  4. net.ipv4.tcp_tw_recycle = 1 
  5. net.ipv4.ip_local_port_range = 1024 65000 
  6. net.ipv4.tcp_max_syn_backlog = 8192 
  7. net.ipv4.tcp_max_tw_buckets = 5000 
  8.  

說(shuō)明:

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

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

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

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

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

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

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

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

/sbin/sysctl -p

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

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

  1. net.ipv4.tcp_tw_reuse = 1 #允許將TIME-WAIT sockets重新用于新的TCP連接  
  2. net.ipv4.tcp_tw_recycle = 1 #開(kāi)啟TCP連接中TIME-WAIT sockets的快速回收  
  3.  

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

/sbin/sysctl -p

#p#

五、調(diào)整Linux的最大文件打開(kāi)數(shù)

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

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

  1. * soft nofile 60000  
  2. * hard nofile 65535  
  3.  

值得注意的是,通過(guò)命令ulimit -SHn是改變不了linux系統(tǒng)的最大文件打開(kāi)數(shù)的,寫(xiě)進(jìn)/etc/rc.d/rc.local也是不行的。

相關(guān)閱讀:ulimit系統(tǒng)命令

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

只開(kāi)啟必須的服務(wù),其它均可關(guān)閉。以下列出的服務(wù)可開(kāi)啟:
◆crond
◆irqbalance
◆microcode_ctl
◆network
◆random
◆sshd
◆syslog
◆iptables

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

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

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

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

service cups stop

chkconfig cups off

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

參考閱讀:Linux進(jìn)程管理命令詳解

七、停止ipv6

線上跑的Linux服務(wù)器,絕大多數(shù)是64位的CentOS。CentOS默認(rèn)的狀態(tài)下,ipv6是被啟用的狀態(tài)。因?yàn)槲覀儾皇褂胕pv6,所以,停止ipv6能夠以最大限度保證安全和快速。

vim /etc/modprobe.conf 

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

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

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

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

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

eth1為第二網(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所剩無(wú)余后想辦法去優(yōu)化內(nèi)存;其實(shí)就走進(jìn)了一個(gè)誤區(qū),linux本身的內(nèi)存模式就很好了,為了提高磁盤(pán)存取效率,Linux做了一些精心的設(shè)計(jì),除了對(duì)dentry進(jìn)行緩存(用于VFS,加速文件路徑名到inode的轉(zhuǎn)換),還采取了兩種主要Cache方式:Buffer Cache和Page Cache。前者針對(duì)磁盤(pán)塊的讀寫(xiě),后者針對(duì)文件inode的讀寫(xiě)。這些Cache有效縮短了 I/O系統(tǒng)調(diào)用(比如read,write,getdents)的時(shí)間。所以,建議,內(nèi)存管理這塊順其自然吧。

【51CTO.com獨(dú)家特稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文作者和出處?!?/p>

【編輯推薦】

  1. 優(yōu)化Linux系統(tǒng)硬盤(pán)的七個(gè)實(shí)用技巧
  2. Linux 2.6.31內(nèi)核優(yōu)化指南
  3. 淺談Linux優(yōu)化及安全配置
責(zé)任編輯:yangsai 來(lái)源: 51CTO.com
相關(guān)推薦

2018-07-13 10:18:28

Linux服務(wù)器經(jīng)驗(yàn)

2010-04-29 12:09:42

Unix服務(wù)器

2012-05-23 09:43:59

Linux升級(jí)經(jīng)驗(yàn)

2012-07-06 15:31:29

Linux系統(tǒng)

2009-12-23 10:07:57

學(xué)習(xí)WPF

2009-11-09 17:06:38

WCF選擇綁定

2009-12-17 18:12:31

Ruby框架應(yīng)用

2009-12-09 16:58:03

PHP strtoti

2010-03-02 17:48:35

WCF尋址報(bào)頭

2010-04-30 14:31:58

Unix系統(tǒng)

2012-11-12 10:55:40

2010-07-26 15:36:59

CCNP

2010-04-22 18:07:28

Aix系統(tǒng)維護(hù)

2009-11-02 15:16:07

VB.NET編程

2020-01-10 18:25:00

Go語(yǔ)言JavaScript編程語(yǔ)言

2009-11-05 15:50:25

WCF behavio

2009-11-16 15:32:05

PHP數(shù)組函數(shù)

2009-12-04 10:53:51

修改路由器密碼

2009-06-16 08:49:51

2009-12-08 11:44:14

PHP獲取隨機(jī)數(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)