`
xitong
  • 浏览: 6400809 次
文章分类
社区版块
存档分类
最新评论

apache链接状态查看和相关数值

 
阅读更多

之前写过一篇关于apache的并发请求的文章,如今更深入的研究了一下,给大家分享,自己也做个笔记了。


上次说到这个牛逼的语句

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
FIN_WAIT_1 286
FIN_WAIT_2 960
SYN_SENT 3
LAST_ACK 32
CLOSING 1
CLOSED 36
SYN_RCVD 144
TIME_WAIT 2520
ESTABLISHED 352
返回参数的说明如下:
CLOSED:无连接是活动的或正在进行
  LISTEN:服务器在等待进入呼叫
  SYN_RECV:一个连接请求已经到达,等待确认
  SYN_SENT:应用已经开始,打开一个连接
  ESTABLISHED:正常数据传输状态
  FIN_WAIT1:应用说它已经完成
  FIN_WAIT2:另一边已同意释放
  TIME_WAIT:等待所有分组死掉
  CLOSING:两边同时尝试关闭
  TIME_WAIT:另一边已初始化一个释放
  LAST_ACK:等待所有分组死掉


TCP变迁图:


pache服务器的fin_wait1过多time_wait过多问题解决
1、fin_wait1状态过多。fin_wait1状态是在server端主动要求关闭tcp连接,并且主动发送fin以后,等待client端回复ack时候的状态。fin_wait1的产生原因有很多,需要结合netstat的状态来分析。

netstat -nat|awk '{print awk $NF}'|sort|uniq -c|sort -n

上面的命令可以帮助分析哪种tcp状态数量异常



netstat -nat|grep ":80"|awk '{print $5}' |awk -F: '{print $1}' | sort| uniq -c|sort -n

则可以帮助你将请求80服务的client ip按照连接数排序。


2、time_wait状态过多。


通常表现为apache服务器负载高,w命令显示load average可能上百,但是web服务基本没有问题。同时ssh能够登陆,但是反应非常迟钝。


原因:最可能的原因是httpd.conf里面keepalive没有开,导致每次请求都要建立新的tcp连接,请求完成以后关闭,增加了很多time_wait的状态。另,keepalive可能会增加一部分内存的开销,但是问题不大。


分析:如果发现fin_wait1状态很多,并且client ip分布正常,那可能是有人用肉鸡进行ddos攻击、又或者最近的程序改动引起了问题。一般说来后者可能性更大,应该主动联系程序员解决。

但是如果有某个ip连接数非常多,就值得注意了,可以考虑用iptables直接封了他。

查IP的关于80端口的连接数可以用:

netstat -nat|grep ":80"|awk '{print $5}' |awk -F: '{print $1}' | sort| uniq -c|sort -n

可以看到目前IP的连接数。太多的,就要注意了。

此外再分享一个实时查看apache并发数的:

watch -n 1 -d "pgrep httpd|wc -l",冒号里的语句可以自己调啦~

当然目前我还有几个没搞清楚的问题,希望大家能教教我哈~



分享到:
评论

相关推荐

    APACHE 流量控制及连接数限制.

    本文将详细介绍如何实现Apache服务器上的流量控制及连接数限制,并提供具体的步骤和配置示例。 #### 安装与启用流量控制模块 为了实现流量控制功能,首先需要安装一个名为`mod_bw`(BandwidthMod)的第三方模块。...

    Apache配置文件详解

    - **说明**:超过此数值后,关闭连接并重新建立新连接。 ##### 7. KeepAliveTimeout - **功能描述**:保持连接活动状态的最长时间。 - **配置示例**:`KeepAliveTimeout 15` - **说明**:单位为秒,有助于释放资源...

    apache 参数优化

    Apache是世界上最流行的Web服务器软件,它的性能和稳定性对任何网站的运营都至关重要。为了实现Apache服务器的最佳性能,我们需要对其进行参数优化。以下是一些关键的Apache配置参数及其优化建议: 1. **MaxClients...

    mysql连接池

    连接池会检查连接状态,如有必要,会进行回收或重新初始化。 - **关闭连接**:当连接池不再需要时,会根据配置策略关闭多余的或已过期的连接。 2. **使用步骤**: - 引入库:在项目中引入相应的连接池库依赖。 -...

    一个效果非常不错的JAVA数据库连接池.doc

    3. **getIncrementalConnections**和**setIncrementalConnections**:这些方法用于获取和设置连接池自动增加的大小,当连接池中的连接被耗尽时,会按照这个数值增加新的连接。 4. **getMaxConnections**和**...

    apache+Tomcat负载平衡设置详解

    Apache 和 Tomcat 负载平衡的设置是一个关键的服务器管理任务,特别是在处理高流量网站或需要高可用性和可扩展性的应用中。Apache 作为一款流行的开源 Web 服务器,常与 Tomcat(一个 Java Servlet 容器)结合使用,...

    java数据库连接池

    - **最小连接数**:连接池中保持的最小连接数,即使在空闲状态下也不会低于这个数值。 - **最大连接数**:连接池的最大容量,超过这个数量的请求将被阻塞或抛出异常。 - **超时设置**:包括获取连接、等待连接的超时...

    数据连接池配置详细讲解

    1. **连接池类型选择**:市面上有许多成熟的数据连接池实现,如Apache的DBCP、C3P0,还有HikariCP、Druid等。不同的连接池有不同的性能特性和配置选项,应根据项目需求和性能要求选择合适的连接池。 2. **初始化...

    DBCP和C3P0连接池常用配置参数一览表

    - 作用:控制空闲状态下最大的连接数,超过此数值的空闲连接将被关闭。 8. **`minIdle`** - 描述:最小空闲连接数。 - 示例:`10` - 作用:保证最小的空闲连接数,避免频繁创建销毁连接。 9. **`logAbandoned`...

    Apache TVM 是一个开放源代码的机器学习编译器框架,用于 CPU,GPU 和机器学习加速器.zip

    神经网络学习(或连接学习):模拟人脑的微观生理级学习过程,以脑和神经科学原理为基础,以人工神经网络为函数结构模型,以数值数据为输入,以数值运算为方法,用迭代过程在系数向量空间中搜索,学习的目标为函数。...

    httpd.conf文件配置详解

    定义了Apache服务器能够同时处理的最大客户端连接数,当达到这个数值时,服务器将不再接受新的连接请求,直到有连接关闭。 #### 三、虚拟主机配置(Virtual Hosts) 虚拟主机配置允许在同一台物理服务器上运行多个...

    Tomcat jdbc-pool参数详解

    Apache Tomcat 的 JDBC-Pool 是一个内置的连接池实现,用于高效管理数据库连接。它提供了丰富的配置选项,以满足各种性能和稳定性需求。下面是对标题和描述中涉及的一些关键参数的详细解释: 1. **factory**:这个...

    cognos调优说明

    适当增加此数值可以减少连接频繁建立和关闭的开销,提高性能。 - **KeepAliveTimeout(请求超时)**:此设置定义了在保持连接打开状态前等待空闲连接关闭的秒数。适当调整可以避免资源浪费。 2. **IIS配置调优**:...

    mysql修改最大连接数等优化mysql

    - `max_connections`: 建议设置为600至1000之间,具体数值应根据实际业务负载和服务器资源情况调整。通常情况下,这个值应大于Web服务器如Apache的`MaxClients`设置。 - `wait_timeout`: 设置较短的时间可以帮助...

    c3p0-0.9.5.2

    2. **minPoolSize**:连接池最小允许的连接数,即使在空闲状态下,连接池也不会低于这个数值。 3. **maxPoolSize**:连接池最大允许的连接数,超过这个数量时,新请求将等待。 4. **maxIdleTime**:连接在池中可以...

    80端口被system占用导致Apache无法启动的解决方法

    ### 80端口被system占用导致Apache无法启动的解决方法 #### 一、问题背景 在进行Web服务器配置或开发环境搭建时,经常会遇到Apache服务无法启动的情况。其中一个常见原因是80端口被系统或其他应用程序占用。80端口...

    Linux 服务器优化配置

    常用的工具如`vmstat`、`top`可以帮助我们实时查看系统状态,发现瓶颈。例如,`vmstat`可显示虚拟内存统计,`top`则能列出进程的CPU和内存占用情况。通过长期收集这些数据,我们可以分析出系统在高负载下的行为,找...

    优化nginx大并发——轻松应对上万并发访问

    3. **开启TCP连接的快速回收和重用**:通过`echo 1 > /proc/sys/net/ipv4/tcp_tw_reuse`和`echo 1 > /proc/sys/net/ipv4/tcp_tw_recycle`,使得TIME_WAIT状态的连接能更快地被复用,减少连接资源的浪费。 4. **关闭...

    Tomcat集群部署方案

    - 在每个Tomcat实例的`server.xml`文件中,确保配置了AJP连接器,通常默认端口为8009,但可以根据需求修改为其他端口,如8201和8202。 集群的负载均衡和故障转移依赖于worker的配置。`lbfactor`参数可以调整每个...

Global site tag (gtag.js) - Google Analytics