优化Linux 的内核参数来提高服务器并发处理能力.docx
上传人:qw****27 上传时间:2024-09-12 格式:DOCX 页数:5 大小:20KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

优化Linux 的内核参数来提高服务器并发处理能力.docx

优化Linux的内核参数来提高服务器并发处理能力.docx

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

优化Linux的内核参数来提高服务器并发处理能力发布时间:2013-3-0709:11作者:未知来源:51Testing软件测试网采编字体:HYPERLINK"javascript:doZoom('12');"\t"_self"小HYPERLINK"javascript:doZoom('14');"\t"_self"中HYPERLINK"javascript:doZoom('16');"\t"_self"大|HYPERLINK"http://www.51testing.com/batch.common.php?action=viewnews&op=up&itemid=229485&catid=96"\t"_self"上一篇HYPERLINK"http://www.51testing.com/batch.common.php?action=viewnews&op=down&itemid=229485&catid=96"\t"_self"下一篇|HYPERLINK"javascript:doPrint();"\t"_self"打印|HYPERLINK"http://bbs.51testing.com/thread-77515-1-1.html"\t"_blank"我要投稿|推荐标签:HYPERLINK"http://www.51testing.com/?action-tag-tagname-Linux"\t"_blank"LinuxHYPERLINK"http://www.51testing.com/?action-tag-tagname-linux"\t"_blank"linuxHYPERLINK"http://www.51testing.com/?action-tag-tagname-%B2%D9%D7%F7%CF%B5%CD%B3"\t"_blank"操作系统PS:在服务器硬件资源额定有限的情况下,最大的压榨服务器的性能,提高服务器的并发处理能力,是很多运维技术人员思考的问题。要提高HYPERLINK"javascript:;"\t"_self"Linux系统下的负载能力,可以使用nginx等原生并发处理能力就很强的HYPERLINK"javascript:;"\t"_self"web服务器,如果使用Apache的可以启用其Worker模式,来提高其并发处理能力。除此之外,在考虑节省成本的情况下,可以修改Linux的内核相关TCP参数,来最大的提高服务器性能。当然,最基础的提高负载问题,还是升级服务器硬件了,这是最根本的。Linux系统下,TCP连接断开后,会以TIME_WAIT状态保留一定的时间,然后才会释放端口。当并发请求过多的时候,就会产生大量的TIME_WAIT状态的连接,无法及时断开的话,会占用大量的端口资源和服务器资源。这个时候我们可以优化TCP的内核参数,来及时将TIME_WAIT状态的端口清理掉。本文介绍的方法只对拥有大量TIME_WAIT状态的连接导致系统资源消耗有效,如果不是这种情况下,效果可能不明显。可以使用netstat命令去查TIME_WAIT状态的连接状态,输入下面的组合命令,查看当前TCP连接的状态和对应的连接数量:netstat-n|awk‘/^tcp/{++S[$NF]}END{for(ainS)printa,S[a]}’这个命令会输出类似下面的结果:LAST_ACK16SYN_RECV348ESTABLISHED70FIN_WAIT1229FIN_WAIT230CLOSING33TIME_WAIT18098我们只用关心TIME_WAIT的个数,在这里可以看到,有18000多个TIME_WAIT,这样就占用了18000多个端口。要知道端口的数量只有65535个,占用一个少一个,会严重的影响到后继的新连接。这种情况下,我们就有必要调整下Linux的TCP内核参数,让系统更快的释放TIME_WAIT连接。用vim打开配置文件:vim/etc/sysctl.conf在这个文件中,加入下面的几行内容:net.ipv4.tcp_syncookies=1net.ipv4.tcp_tw_reuse=1net.ipv4.tcp_tw_recycle=1net.ipv4.tcp_fin_timeout=30输入下面的命令,让内核参数生效:sysctl-p简单的说明上面的参数的含义:net.ipv4.tcp_syncookies=1#表示开启SYNCookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭;net.ipv4.tcp_tw_reuse=1