Linux参数优化(随着经验的增加持续更新中)

1.调整系统文件描述符数量,默认为1024  #ulimit -n进行查看

[[email protected] core]# ulimit -n
1024
调整方法:
[[email protected] core]# echo ‘*    -    nofile    65535‘ >>/etc/security/limits.conf
注:配置完成后需要重新登录才能生效
[[email protected] core]# ulimit -n
65535

2.Linux系统中,TCP连接断开后,会以TIME_WAIT状态保留一定的时间,然后再释放端口。当并发请求过 多的时候就会产生大量的TIME_WAIT状态连接,无法及时断开的话,会占用大量的的端口。此时可以优化TCP的内核参数,来及时将TIME_WAIT状态的端口清理掉。

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

[[email protected] core]# cat /etc/sysctl.conf
net.ipv4.tcp_syncookies = 1 
net.ipv4.tcp_tw_reuse = 1 
net.ipv4.tcp_tw_recycle = 1 
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_max_tw_buckets = 6000
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
net.ipv4.tcp_wmem=4096 65536 16777216
net.ipv4.tcp_timestamps = 1
net.core.netdev_max_backlog = 30000
net.core.somaxconn = 262144
net.ipv4.tcp_max_syn_backlog = 262144
net.ipv4.tcp_syn_retries = 2
net.ipv4.tcp_synack_retries = 2

参数解释:

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 #此参数暂不知有何用途

时间: 2024-08-24 03:59:55

Linux参数优化(随着经验的增加持续更新中)的相关文章

xcode经验汇总(持续更新中)

使用命令行编译,创建main.m文件,写个NSLog语句(需要Foundation头文件),用clang编译不过.解决办法是:clang -framework Foundation main.m -o main,或者-fmodules Foundation(代码中用@import Foundation; 而不是#import <Foundation/Foundation.h>

linux学习资料持续更新中

一.LINUX基础教程 1.老男孩系列免费视频: 1) linux高薪入门实战视频教程(第二部)老男孩linux教程 http://edu.51cto.com/course/course_id-1035-page-1.html 2) 跟着老男孩从0开始一步步实战深入学习linux运维(三) http://edu.51cto.com/lesson/id-11909.html linux学习资料持续更新中,布布扣,bubuko.com

Linux系统各发行版镜像下载(持续更新)

Linux系统各发行版镜像下载(持续更新) http://www.linuxidc.com/Linux/2007-09/7399.htm Linux系统各发行版镜像下载(2014年10月更新),如果直接下载不了,请使用迅雷下载.并且注意,我的下载地址,在  迅雷 里才起作用. 包括Ubuntu,Fedora,SUSE,Red Hat Enterprise Linux,CentOS等. 中国大陆开源镜像站汇总 1.企业贡献: 搜狐开源镜像站:http://mirrors.sohu.com/网易开源

Apache设置经验总结(持续更新)

Alias 想让/opt/foswiki的内容显示出来,但不想拷贝到/var/www/html中,怎么做 Alias /foswiki/ "/opt/foswiki/" <Directory "/opt/foswiki/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory> 这些是模

老男孩高端linux运维在线课程视频全套,持续更新中!

老男孩高端linux运维在线课程视频全套,持续更新中 http://edu.51cto.com/course/course_id-5651.html

C 语言的若干问题(持续更新中)

mnesia在频繁操作数据的过程可能会报错:** WARNING ** Mnesia is overloaded: {dump_log, write_threshold},可以看出,mnesia应该是过载了.这个警告在mnesia dump操作会发生这个问题,表类型为disc_only_copies .disc_copies都可能会发生. 如何重现这个问题,例子的场景是多个进程同时在不断地mnesia:dirty_write/2 mnesia过载分析 1.抛出警告是在mnesia 增加dump

构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(1)-前言与目录(持续更新中...)

演示地址 帐号:admin 密码:admin123 请不要删除用户避免他人无法体验(文章中已经附带源码,源码开放到17讲下载) 快捷地址(QQ群37509873也有相应的下载):   第2讲源码下载  密码:wg0i 最新代码生成器+17讲源码下载 密码:n2ji SwfUpload在MVC4下多文件上传 密码:0ntz 也可以有偿获取一份最新源码联系QQ:729994997价格500 -------------------------------------------------------

Android 系统中,那些能大幅提高工作效率的 API 汇总(持续更新中...)

前言 "条条大路通罗马."工作中,实现某个需求的方式往往不是唯一的,这些不同实现方式不仅表现在代码质量上,还影响着我们的工作效率.就像,在 Android 系统中,总有那么一些鲜为人知的 API 能够减少我们很多零碎的工作量.于是,就想凭着一些经验,整理一些常用的,找个地方归纳总结,也供日后翻阅. getResources().getIdentifier(String name, String defType, String defPackage) 根据资源名称获取资源 id.正常情况

[系列汇总] - 二十三种设计模式(持续更新中&hellip;)

摘要 最近在读GOF的Design Patterns: Elements of Reusable Object-Oriented Software(设计模式:可复用面向对象软件的基础),学习前辈们的经验来增加自己的编码设计能力.在学习的过程中,会把我从书上学到的知识以及自己的理解写到这里.一方面能够巩固自己学到的东西同时方便以后的复习,另一方面是希望能够帮助到那些跟我一样不大了解设计模式的人. 我理解的设计模式不是一套固定的代码,更多的是一种设计理念.它能够帮助我们解决特定的设计问题,使我们的程