php查看tcp连接数,查看Apache并发连接数及其TCP连接状态

Linux负载理解:https://blog.csdn.net/weixin_39845407/article/details/86622671

查看Apache进程

查看httpd进程数(即prefork模式下 Apache能够处理的并发请求数)

ps -aux | grep httpd | wc -l

可以对比httpd.conf中MaxClients的数字差距多少。去掉wc -l 就是查看这个进程名 有多少进程数

MaxClients 最大的进程总数(Apache 2.4版本后MaxRequestWorkers)

实时检测HTTPD连接数:

watch -n 1 -d "pgrep httpd|wc -l"

HTTPD连接数 在宝塔面板:上面的值为   空闲进程(IdleWorkers)+繁忙进程(BusyWorkers)

查看apache进程数(命令优化:grep -v 是反向查找的意思,比如 grep -v grep 就是查找不含有 grep 字段的行)

ps aux|grep httpd |grep -v grep

ps aux|grep httpd |grep -v grep |wc -l

本站100

查看PHP进程进程数

ps aux|grep php-fpm |grep -v grep

ps aux|grep php-fpm |grep -v grep |wc -l

本站50

查看网络连接

netstat -nat|grep -i "80"|wc -l

netstat -an会打印系统当前网络链接状态,而grep -i “80”是用来提取与80端口有关的连接的,wc -l进行连接数统计。最终返回的数字就是当前所有80端口的请求总数。 如果开了HTTPS 是不是可以查看443(即https的放行端口)

netstat -na|grep ESTABLISHED|wc -l

watch -n 1 -d "netstat -an | grep ESTABLISHED | wc -l" #实时监控信息

netstat -an会打印系统当前网络链接状态,而grep ESTABLISHED 提取出已建立连接的信息。 然后wc -l统计。最终返回的数字就是当前所有80端口或https放行的端口的已建立连接的总数。

netstat -nat||grep ESTABLISHED|wc -l  可查看所有建立连接的详细记录

怎么才能知道是哪个连接造成的CPU占用不断增加?

连接数只是一个方面,还有一方面是不是你的php程序处理时占用过多的资源,你看一下日志,在负荷比较大的时候主要访问那几个文件,然后分析那几个程序

计算httpd占用内存的平均数:ps aux|grep -v grep|awk '/httpd/{sum+=$6;n++};END{print sum/n}'

如每个占5M,如系统除去其他应用,剩余2000M,则可以同时又2000/5=400 个进程

重启httpd后,通过反复执行pgrep httpd|wc -l 来观察连接数,可以看到连接数在达到MaxClients的设值后不再增加,但此时访问网站也很流畅,那就不用贪心再设置更高的值了,不然以后如果网站访问突增不小心就会耗光服务器内存,可根据以后访问压力趋势及内存的占用变化再逐渐调整,直到找到一个最优的设置值。

压力测试

/www/server/apache/bin/ab -n4000 -c100 http://IP地址/index.html

查看TCP连接状态:

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

LAST_ACK 1

SYN_RECV 6

CLOSE_WAIT 3

ESTABLISHED 53

FIN_WAIT1 1

FIN_WAIT2 57

TIME_WAIT 23

状态:描述

LISTEN:侦听来自远方的TCP端口的连接请求

SYN-SENT:再发送连接请求后等待匹配的连接请求(如果有大量这样的状态包,检查是否中招了)

SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认(如有大量此状态,估计被flood攻击了)

ESTABLISHED:代表一个打开的连接

FIN-WAIT-1:等待远程TCP连接中断请求,或先前的连接中断请求的确认

FIN-WAIT-2:从远程TCP等待连接中断请求

CLOSE-WAIT:等待从本地用户发来的连接中断请求

CLOSING:等待远程TCP对连接中断的确认

LAST-ACK:等待原来的发向远程TCP的连接中断请求的确认(不是什么好东西,此项出现,检查是否被攻击)

TIME-WAIT:等待足够的时间以确保远程TCP接收到连接中断请求的确认

CLOSED:没有任何连接状态

58eb9709287d9321374112c696d57abd.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值