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

调整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秒

分享到:
评论

相关推荐

    牛客网Linux高并发服务器开发.zip

    在IT行业中,Linux系统因其开源、稳定和高效的特点,被广泛应用于服务器开发,尤其是在嵌入式领域。"牛客网Linux高并发服务器开发"这个压缩包文件,显然聚焦于利用Linux进行高性能服务器的设计与实现,这涉及到多个...

    linux高并发服务器带数据库操作

    综上所述,构建一个能处理20000台客户同时访问的Linux高并发服务器,需要综合运用Linux系统特性、C语言编程技巧和MySQL数据库优化策略。通过不断测试、调优,我们可以逐步提升服务器的并发处理能力和响应效率。

    Nerv.zip_linux 服务器_socket 高并发_socket高并发_跨平台_跨平台socket

    《Linux服务器上的Socket编程:实现高并发与跨平台通信》 在信息技术领域,Socket编程是构建网络应用程序的基础,尤其在Linux服务器环境中,它扮演着至关重要的角色。本篇将深入探讨如何利用Socket实现跨平台的高...

    Linux下高并发socket最大连接数所受的各种限制

    总结来说,为了在Linux下处理高并发Socket连接,我们需要关注文件描述符的限制,并通过调整用户和系统级别的限制来提高并发数。同时,注意系统资源的合理分配和管理,以确保整体性能和稳定性。这个过程涉及多个层次...

    第04章 大促高并发系统下JVM如何调优指导03.pdf

    总之,大促高并发系统下的JVM调优是一项复杂而细致的工作,涉及到服务器配置、Tomcat优化和JVM参数调整等多个层面。通过精心的调优,可以显著提高系统在高并发环境下的处理能力和稳定性,确保大促期间的服务质量。

    linux下的一个内存池实现

    在实际应用中,内存池常被用于高并发环境,如网络服务器、数据库系统,以及资源有限的嵌入式设备。通过自定义内存池,我们可以根据具体需求调整内存分配策略,从而优化系统的内存管理。 总的来说,实现一个Linux下...

    Linux下快速实现负载均衡.pdf

    Linux 下快速实现负载均衡 本文主要阐述如何在 Linux 系统下快速实现负载均衡,介绍了使用 LVS(Linux Virtual Server)搭建负载均衡...LVS 是一种高效、灵活和可靠的负载均衡解决方案,适合大规模应用和高并发场景。

    Linux系统下简单FTP服务器的实现

    流量控制在高并发环境中尤为重要。vsftpd支持通过`max_clients`配置项限制同一时间连接服务器的最大客户端数量。此外,还可以通过防火墙(如iptables)设置带宽限制,例如: ```bash sudo iptables -I INPUT -p tcp...

    优化Linux的内核提高服务器并发能力

    通过修改这些参数,可以有效地调整Linux系统对网络请求的处理能力。这些参数包括net.ipv4.tcp_syncookies、net.ipv4.tcp_tw_reuse、net.ipv4.tcp_tw_recycle、net.ipv4.tcp_fin_timeout等。 2. TIME_WAIT状态的优化...

    基于linux百万级高并发框架Skynet

    《基于Linux的百万级高并发框架Skynet》 在当今的互联网时代,处理高并发问题已经成为后台服务设计的重要挑战。Skynet,一个专为游戏服务设计的后台框架,以其高效、稳定、轻量级的特性,成功地解决了这一难题。本...

    嵌入式LINUX 系统开发概述

    ### 嵌入式Linux系统开发概述 #### 一、嵌入式系统基本概念与特点 **1.1 嵌入式系统定义** 嵌入式系统是指将计算机硬件和软件集成在一个或多个处理器上,形成一个专用的计算机系统,用于实现特定功能的产品或设备...

    基于多线程的Linux下并发服务器的实现研究.pdf

    - 在实际项目中,基于多线程的并发服务器结构不仅能够增强程序的功能性,还能通过合理的设计和优化,显著提高服务性能,满足高并发场景的需求。 总结来说,基于多线程的Linux并发服务器通过线程同步和通信机制,...

    基于Linux的高温监测系统设计与实现

    尤其是在对实时性有较高要求的场景下,Linux系统的稳定性和高效性使其成为理想的解决方案。 ##### 2.2 MiniGUI图形用户界面 为了提供一个更友好、直观的操作界面,本研究选择MiniGUI作为图形用户界面(GUI)的支持...

    Linux下的学生选课管理系统

    针对高并发选课场景,可能需要考虑缓存策略(如Redis)来减少数据库压力,或者使用队列服务(如RabbitMQ)来异步处理选课请求,避免系统崩溃。 11. **测试与维护**: 系统需要经过单元测试、集成测试和性能测试,...

    Go语言构建千万级在线的高并发消息推送系统实践

    Go语言在并发编程上具有原生支持,能够利用goroutine轻松实现轻量级并发处理,这对于高并发系统的开发至关重要。它的开发体验良好,得益于简洁的语法和强大的标准库支持,可快速开发稳定的服务。此外,Go语言编译...

    高并发网站架构设计方案

    【标题】: "高并发网站架构设计方案" 【描述】: "设计高并发网站架构的关键...综上所述,设计高并发网站架构需要综合运用上述策略,根据实际需求进行优化和调整,以确保系统在面对大规模用户访问时的稳定性和高性能。

    提高linux并发处理能力.docx

    在Linux系统中,为了提升并发处理能力,我们需要关注系统对于每个进程可以打开的文件数量的限制。这是因为每个TCP连接都会创建一个socket句柄,而每个socket句柄本身就是一个文件句柄。 ##### 1. 查看当前限制 ...

    Linux系统分析与高级编程技术

    1. **Linux系统内核**:Linux内核是操作系统的核心,负责调度硬件资源、管理进程、提供硬件抽象层以及实现各种系统服务。学习Linux系统分析,首先要理解内核的工作原理,包括中断处理、进程上下文切换、调度算法(如...

    Linux系统函数最全收集(学习linux必备)

    对于更复杂的I/O操作,如非阻塞I/O和异步I/O,可以使用`select()`、`poll()`和`epoll`等函数进行多路复用,以实现高效的并发处理。 进程和线程管理是另一个关键领域。`fork()`生成新进程,`exec()`系列函数加载并...

Global site tag (gtag.js) - Google Analytics