`
fyjava
  • 浏览: 60684 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

linux下减少TIME_WAIT的socket

阅读更多

本文转自:http://operamasks.blogbus.com/logs/30967007.html

 

在linux下做压力测试,发现CPU占用比较高,用netstat -an|grep 6888查看socket的情况,发现很多socket处于TIME_WAIT状态,google了一下,可以进行以下优化,问题解决:

sysctl -w net.ipv4.tcp_tw_reuse=1
sysctl -w net.ipv4.tcp_fin_timeout=30
sysctl -w net.ipv4.tcp_keepalive_time=1800
sysctl -w net.ipv4.tcp_max_syn_backlog=8192

sysctl -w sched_yield_scale=1

ulimit –d unlimited
ulimit –m unlimited
ulimit –s unlimited
ulimit –t unlimited
ulimit –v unlimited

分享到:
评论

相关推荐

    减少Linux服务器过多的TIME_WAIT

    在Linux服务器环境中,当TCP/IP连接关闭后,服务器端的...通过上述方法,可以有效地管理和减少Linux服务器上的TIME_WAIT状态连接,优化服务器性能,尤其是对于处理大量并发连接的服务器,如Squid,这些调整尤为重要。

    TIME_WAIT.rar_C-means_linux 网络状态_linux c wait_tcp_unix 网络编程

    在Linux系统中,进行网络编程时,TCP连接的TIME_WAIT状态是至关重要的一个环节。TIME_WAIT状态是TCP连接生命周期中的最后一个阶段,对于理解和优化网络应用性能有着直接的影响。本资源"TIME_WAIT.rar"包含了关于这个...

    [服务器性能优化]Linux下高并发socket最大连接数和sysctl(time_wait)设置

    本文将深入探讨如何优化Linux下的socket连接数以及如何调整sysctl参数,特别是time_wait状态的影响。这有助于提升服务器处理大量并发请求的能力,确保服务的稳定性和响应速度。 首先,我们需要了解socket连接数的...

    Netstat命令详解如何关闭TIME_WAIT连接如何查看nginx的访问流量[归类].pdf

    4. 关闭 TIME_WAIT 连接:使用 netstat -ant | grep TIME_WAIT | awk '{print $2}' | xargs kill -9 命令可以关闭 TIME_WAIT 连接。 网络连接状态详解: 网络连接状态可以分为 12 种可能的状态,前面 11 种是按照 ...

    Linux下socket设置.pdf

    在Linux环境下,Socket编程是构建网络通信的基本工具。在处理Socket时,往往需要对Socket进行各种设置以优化其性能和适应不同的网络环境。以下是一些关键的Socket设置及其详细解释: 1. **重用地址(SO_REUSEADDR)...

    linux_c_api.zip_C函数_Linux下的API_linux C函数

    在Linux下进行网络编程,主要使用`socket`, `bind`, `listen`, `accept`, `connect`, `send`, `recv`等函数。`socket`创建套接字,`bind`将套接字绑定到特定地址,`listen`设置服务器监听模式,`accept`接受连接请求...

    Linux下Socket编程的端口问题 ( Bind(): Address already in use ) PDF版

    ### Linux下Socket编程的端口问题 (Bind(): Address already in use) #### 一、问题背景与常见场景 在进行Linux下的网络编程时,经常会遇到端口绑定失败的问题,尤其是在使用`bind()`函数尝试绑定端口时,可能会...

    Linux下socket设置[借鉴].pdf

    在Linux环境下进行软件开发,尤其是涉及网络通信的部分,熟悉socket编程是至关重要的。本文将详细介绍在Linux下如何设置socket以优化其性能和控制其行为。 首先,当一个socket调用`closesocket()`后,它通常不会...

    Linux_Tcp.rar_LINUX TCP _linux TCP_tcp linux

    本文将深入探讨Linux下的TCP编程,包括TCP套接字(socket)的工作原理、C/S架构的实现以及相关的TCP/Linux优化策略。 首先,TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议。它通过三次握手建立连接,并...

    提高 Linux 上 socket 性能

    例如,可以通过修改`/proc/sys/net/ipv4/tcp_`系列的内核参数,如`tcp_congestion_control`选择不同的拥塞控制算法,`tcp_tw_reuse`允许重用TIME_WAIT套接字以减少资源消耗,或`tcp_keepalive_time`设置连接空闲多久...

    linux 网络编程 socket选项的实现

    - `SO_REUSEADDR`:允许在TIME_WAIT状态下重用套接字地址,这对于多线程服务器避免等待TIME_WAIT超时特别有用。 - `SO_KEEPALIVE`:在无数据传输时周期性发送探测报文,检查连接是否仍然活跃。 - `TCP_NODELAY`:...

    实战Linux Socket编程源码

    - **复用(Reusing)**:通过设置`SO_REUSEADDR`套接字选项,服务器可以在Socket关闭后立即重新绑定到同一地址,避免了TIME_WAIT状态的等待时间,提高了服务的响应速度。 - **非阻塞(Non-blocking)**:使用`fcntl...

    Linux网络编程:端口复用

    setsockopt(socket_fd, SOL_SOCKET, SO_REUSEADDR, &reuse_addr, sizeof(reuse_addr)); ``` 在Python的socket模块中,可以这样做: ```python import socket socket.setsockopt(socket.SOL_SOCKET, socket.SO_...

    linux socket 状态迁移 源码测试

    在Linux操作系统中,Socket是一种进程间通信机制,它允许运行在同一台机器上的进程或不同机器上的进程进行数据交换。在TCP/IP协议栈中,Socket主要涉及TCP(传输控制协议)的状态迁移,这些状态反映了连接的建立、...

    linux tcp_tcp

    3. **TCP套接字编程**:在Linux中,使用socket API进行TCP编程,包括socket()创建套接字,bind()绑定地址,listen()监听连接,accept()接受连接,connect()发起连接,send()和recv()用于数据传输。 4. **TCP窗口...

    Linux服务器上11种网络连接状态 和 TCP L.doc

    9. **TIME_WAIT**:在接收到最后的ACK后,主动关闭方进入TIME_WAIT状态,等待一定时间以确保所有在网络中的分组都能被正确处理。这是为了防止旧的重复分组干扰新连接。 10. **CLOSING**:这是一个不常见的状态,当...

    Linux下Socket编程

    此外,对于TCP Socket,还需要了解半关闭(half-closed)状态和TIME_WAIT状态等概念。 源码分析和调试是提升Socket编程技能的关键。通过阅读和理解开源项目中的Socket代码,可以深入理解其工作原理。调试工具如`...

    Linux-system-functions.rar_linux_linux c++_system 函数

    7. **网络编程**:Linux系统函数还包括了套接字编程接口,如`socket()`, `bind()`, `listen()`, `accept()`, `connect()`, `send()`, `recv()`等,这些函数用于创建和管理网络连接。 8. **进程间通信(IPC)**:如`...

Global site tag (gtag.js) - Google Analytics