Linux查看连接数,并发数

netstat 显示协议统计和当前 TCP/IP 网络连接。
NETSTAT [-a] [-b] [-e] [-f] [-n] [-o] [-p proto] [-r] [-s] [-t] [interval]  
  -a            显示所有连接和侦听端口。//常用
  -b            显示在创建每个连接或侦听端口时涉及的可执行程序。//常用                 
                在某些情况下,已知可执行程序承载多个独立的                  
                组件,这些情况下,显示创建连接或侦听端口时涉                 
                及的组件序列。此情况下,可执行程序的名称                 
                位于底部[]中,它调用的组件位于顶部,直至达
                到 TCP/IP。注意,此选项可能很耗时,并且在您没有                 
                足够权限时可能失败。
  -e            显示以太网统计。此选项可以与 -s 选项结合使用。//常用
  -f            显示外部地址的完全限定域名(FQDN)。//没用   
  -n            以数字形式显示地址和端口号。   //常用   
  -o            显示拥有的与每个连接关联的进程 ID。//没用
  -p proto      显示 proto 指定的协议的连接;proto 可以是下列任                 
                何一个: TCP、UDP、TCPv6 或 UDPv6。   
                如果与 -s 选项一起用来显示每个协议的统计,proto 可以是下列任                 
                何一个: IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP                 
                或 UDPv6。  
  -r            显示路由表。//常用
  -s            显示每个协议的统计。默认情况下,显示   //有用
                IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6                 
                的统计;-p 选项可用于指定默认的子网。
   -t           显示当前连接卸载状态。 //没用

  interval      重新显示选定的统计,各个显示间暂停的间隔秒数。                 
                按 CTRL+C 停止重新显示统计。如果省略,则 netstat                 
                将打印当前的配置信息一次。



    查看apache当前并发访问数:
  netstat -an | grep ESTABLISHED | wc -l
  对比httpd.conf中MaxClients的数字差距多少。
  查看有多少个进程数:
  ps aux|grep httpd|wc -l
  可以使用如下参数查看数据
  server-status?auto
  #ps -ef|grep httpd|wc -l
  1388
  统计httpd进程数,连个请求会启动一个进程,使用于Apache服务器。
  表示Apache能够处理1388个并发请求,这个值Apache可根据负载情况自动调整。
  #netstat -nat|grep -i "80"|wc -l
  4341

  netstat -an会打印系统当前网络链接状态,而grep -i "80"是用来提取与80端口有关的连接的,wc -l进行连接数统计。
  最终返回的数字就是当前所有80端口的请求总数。
  #netstat -na|grep ESTABLISHED|wc -l
  376
  netstat -an会打印系统当前网络链接状态,而grep ESTABLISHED 提取出已建立连接的信息。 然后wc -l统计。
  最终返回的数字就是当前所有80端口的已建立连接的总数。
  netstat -nat||grep ESTABLISHED|wc - 可查看所有建立连接的详细记录
 
  查看Apache的并发请求数及其TCP连接状态:
  Linux命令:
  netstat -n | awk '/^tcp/ {++S[$NF]} END {for (a in S) print a, S[a]}'
  返回结果示例:
  LAST_ACK 5
  SYN_RECV 30
  ESTABLISHED 1597
  FIN_WAIT1 51
  FIN_WAIT2 504
  TIME_WAIT 1057
  其中的
  SYN_RECV表示正在等待处理的请求数;
  ESTABLISHED表示正常数据传输状态;
  TIME_WAIT表示处理完毕,等待超时结束的请求数。