`
音频数据
  • 浏览: 35530 次
文章分类
社区版块
存档分类
最新评论

调整Linux系统实现高并发

 
阅读更多

转自:http://512bit.blog.51cto.com/10485620/1674049

ulimit -SHn 65535
内核优化
net.ipv4.ip_forward = 1            #开启路由功能
net.ipv4.conf.default.rp_filter = 1    #禁用所有IP源路由
net.ipv4.conf.default.accept_source_route = 0    #禁用icmp源路由选项
kernel.sysrq = 0    #关闭SysRq功能,SysRq代表的是Magic System Request Key
kernel.core_uses_pid = 1      #控制core文件的文件名是否添加pid作为扩展
net.ipv4.tcp_syncookies = 1    # tcp syncookie,默认关闭
kernel.msgmnb = 65536 #默认的每个消息队列的最大尺寸(byte),默认为16384
kernel.msgmax = 65536    #消息队列中单条消息的最大尺寸(byte),默认8192
kernel.shmmax = 68719476736    #共享内存中的最大内存块尺寸(byte),默认33554432(32M),这里是65536M
kernel.shmall = 4294967296   #kernel.shmall的单位是页面数,当前的x86体系上这个单位是4K,这里是2048G的共享内存总量,默认2097152
fs.file-max = 6553600       #系统级最大打开文件数,还要结合limits.conf的soft和hard限制
net.ipv4.tcp_max_tw_buckets = 5000    #1st低于此值,TCP没有内存压力,2nd进入内存压力阶段,3rdTCP拒绝分配socket(单位:内存页)
net.ipv4.tcp_sack = 1                #定义SYN重试次数
net.ipv4.tcp_window_scaling = 1 #开启窗口缩放功能
net.ipv4.tcp_rmem = 4096  87380  4194304   #接受缓冲的大小:MIN,DEFAULT,MAX
net.ipv4.tcp_wmem = 4096    16384   4194304   #socket的发送缓存区分配的MIN,DEFAULT,MAX
net.ipv4.tcp_max_syn_backlog = 8192    #syn队列,默认1024,> 1280可能工作不稳定,需要修改内核源码参数
net.core.netdev_max_backlog = 32768    #进入包的最大设备队列.默认是300,对重负载服务器而言,该值太低,可调整到2000.        
net.core.somaxconn = 32768          #listen()的默认参数,挂起请求的最大数量.默认是128.对繁忙的服务器,增加该值有助于网络性能
net.core.wmem_default = 8388608     #表示套接字发送缓冲区大小的缺省值,会覆盖net.ipv4.tcp_wmem的DEFAUL值
net.core.rmem_default = 8388608      #表示套接字接收缓冲区大小的缺省值
net.core.rmem_max = 16777216       #表示套接字接收缓冲区大小的最大值
net.core.wmem_max = 16777216      #表示套接字发送缓冲区大小的最大值,会覆盖net.ipv4.tcp_wmem的MAX值
net.ipv4.tcp_timestamps = 0      #禁用时间戳,时间戳可以避免序列号的卷绕
net.ipv4.tcp_synack_retries = 2   #syn-ack握手状态重试次数,默认5,遭受syn-flood攻击时改为1或2
net.ipv4.tcp_syn_retries = 2       #外向syn握手重试次数,默认4
net.ipv4.tcp_tw_recycle = 1       #开启 TCP 连接中 TIME-WAIT sockets 的快速回收,默认为 0 ,表示关闭。
net.ipv4.tcp_tw_reuse = 1        #开启重用。允许将 TIME-WAIT sockets 重新用于新的 TCP 连接,默认为 0 ,表示关闭;
net.ipv4.tcp_mem = 94500000 915000000 927000000  #1低于此值,TCP没有内存压力,2在此值下,进入内存压力阶段,3高于此值,TCP拒绝分配socket.上述内存单位是页
net.ipv4.tcp_max_orphans = 3276800    #选项用于设定系统中最多有多少个TCP套接字不被关联到任何一个用户文件句柄上,如果超过这个数字,孤立连接将立即被复位并打印出警告信息
net.ipv4.tcp_fin_timeout = 30              #修改系統默认的 TIMEOUT 时间
net.ipv4.tcp_keepalive_time = 300          #表示当keepalive起用的时候,TCP发送keepalive消息的频度。缺省是2小时,改为5分钟。
net.ipv4.ip_local_port_range = 1024    65000    #表示用于向外连接的端口范围。缺省情况下过窄:32768到61000,改为1024到65535。
net.ipv4.ip_conntrack_max = 655360            #增大iptables状态跟踪表
net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 180     #设置默认 TCP 连接时长为180秒

分享到:
评论

相关推荐

    PHP秒杀系统 高并发高性能的极致挑战 从万次到亿万次的性能优化,从单机到分布式的架构升级

    本课由360架构师亲授,以360真实秒杀系统为切入点, 从秒杀的功能入手,分层递进讲解,逐步让大家掌握系统的设计、架构以及优化,从容应对百万级、过亿级的秒杀活动及其它海量访问的互联网系统。1. Linux / Nginx / ...

    Linux高性能服务器编程

    6.2 dup函数和dup2函数 6.3 readv函数和writev函数 6.4 sendfile函数 6.5 mmap函数和munmap函数 6.6 splice函数 6.7 tee函数 6.8 fcntl函数 第7章 Linux服务器程序规范 7.1 日志 7.1.1 Linux系统日志 ...

    linux programming instances网络编程教程 附源代码

    为了适应不同读者的需要,本书从最基本的Linux系统操作到网络技术的基本理念,逐步深入至Linux/UNIX下具体的编程实践,结合大量具体实例和编程经验,为读者展现Linux平台下网络编程的魅力。 全书由13章组成,内容...

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    2、能够跨平台:JSP支持绝大部分平台,包括现在非常流行的LINUX系统,应用非常广泛的Apache服务器也提供了支持JSP的服务; 3、组件的开发和使用很方便:如ASP的组件是由C++,VB等语言开发的,并需要注册才能使用;...

    基于J2EE框架的个人博客系统项目毕业设计论...

    2、能够跨平台:JSP支持绝大部分平台,包括现在非常流行的LINUX系统,应用非常广泛的Apache服务器也提供了支持JSP的服务; 3、组件的开发和使用很方便:如ASP的组件是由C++,VB等语言开发的,并需要注册才能使用;...

    【spring-boot-seckill分布式秒杀系统 v1.0】从0到1构建的java秒杀系统源码+安装说明

    6、最后,为了支撑更高的并发,追求更好的性能,可以对服务器的部署模型进行优化,部分请求走正常的秒杀流程,部分请求直接返回秒杀失败,缺点是开发部署时需要维护两套逻辑。 分层优化 1、前端优化:活动开始前生成...

    java开源包3

    一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用。 Java转C++代码工具 J2C J2C 将 Java 代码转成 C++ 代码,这是源码级别的转换,输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-...

    JAVA上百实例源码以及开源项目源代码

    两个例子,无状态SessionBean可会话Bean必须实现SessionBean,获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,计算利息等;在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将...

    400电话办理选号系统

    程序拥有高并发采集系统,开发人员可根据采集文件:cj.php/cj2.php的结构进行调整采集任意API接口或WEB数据入库。 3)SEO优化功能 在SEO,该程序使用模拟静态,可以设置:首页、列表页、内容页的标题后缀、描述及...

    java开源包4

    一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用。 Java转C++代码工具 J2C J2C 将 Java 代码转成 C++ 代码,这是源码级别的转换,输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-...

    loadrunner测试资料

    另外,该软件还有系统稳定性综合测试、性能调整向导等附加功能。Sisoft Sandra软件在最近发布的Intel bensley平台上测试的内存带宽性能并不理想,不知道采用该软件测试的FBD内存性能是否还有参考价值,或许软件应该...

    JAVA上百实例源码以及开源项目

    两个例子,无状态SessionBean可会话Bean必须实现SessionBean,获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,计算利息等;在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将...

    spring-boot-seckill分布式秒杀系统 v1.0

    6、最后,为了支撑更高的并发,追求更好的性能,可以对服务器的部署模型进行优化,部分请求走正常的秒杀流程,部分请求直接返回秒杀失败,缺点是开发部署时需要维护两套逻辑。 spring-boot-seckill分布式秒杀系统...

    spring-boot-seckill分布式秒杀系统-其他

    6、最后,为了支撑更高的并发,追求更好的性能,可以对服务器的部署模型进行优化,部分请求走正常的秒杀流程,部分请求直接返回秒杀失败,缺点是开发部署时需要维护两套逻辑。 分层优化 1、前端优化:活动开始前生成...

    java开源包1

    一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用。 Java转C++代码工具 J2C J2C 将 Java 代码转成 C++ 代码,这是源码级别的转换,输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-...

    java开源包11

    一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用。 Java转C++代码工具 J2C J2C 将 Java 代码转成 C++ 代码,这是源码级别的转换,输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-...

    java开源包2

    一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用。 Java转C++代码工具 J2C J2C 将 Java 代码转成 C++ 代码,这是源码级别的转换,输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-...

    java开源包6

    一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用。 Java转C++代码工具 J2C J2C 将 Java 代码转成 C++ 代码,这是源码级别的转换,输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-...

Global site tag (gtag.js) - Google Analytics