欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

关于连接数的疑问

程序员文章站 2022-05-16 16:09:58
...
一、对这个连接数有些疑惑,下面这两个统计有什么区别吗?连接数我可以理解为并发请求数吗
1统计80端口连接数
netstat -nat|grep -i "80"|wc -l

2)统计httpd协议连接数
ps -ef|grep httpd|wc -l

二、你们统计nginx 的时候是怎么统计的,也是这样吗?
1统计80端口连接数
netstat -nat|grep -i "80"|wc -l

2)统计nginx协议连接数
ps -ef|grep nginx|wc -l

三、mysql的连接数我可以理解并发连接数据库的数吗?这个你们怎么统计的,下面这两种是那一种,还有这两种有区别吗?(还有像memcache和redis,mongodb等,可以统计他的进程来确定他的连接数吗?
第一种
show processlist
第二种
ps -ef|grep mysqld|wc -l

先谢谢各位大神了!!

回复内容:

一、对这个连接数有些疑惑,下面这两个统计有什么区别吗?连接数我可以理解为并发请求数吗
1统计80端口连接数
netstat -nat|grep -i "80"|wc -l

2)统计httpd协议连接数
ps -ef|grep httpd|wc -l

二、你们统计nginx 的时候是怎么统计的,也是这样吗?
1统计80端口连接数
netstat -nat|grep -i "80"|wc -l

2)统计nginx协议连接数
ps -ef|grep nginx|wc -l

三、mysql的连接数我可以理解并发连接数据库的数吗?这个你们怎么统计的,下面这两种是那一种,还有这两种有区别吗?(还有像memcache和redis,mongodb等,可以统计他的进程来确定他的连接数吗?
第一种
show processlist
第二种
ps -ef|grep mysqld|wc -l

先谢谢各位大神了!!

一、前者是使用 80 端口的连接数,一般情况下就是并发数;后者是 httpd 的进程数,httpd 可以为每个请求创建一个线程或一个进程,而且也会有空闲的进程,所以后者和并发数没什么关系。

二、同上。

三、show processlist 是 MySQL 提供的查看进程数的命令;后者和前面一样。

如果 Apache 的多处理模块(MPM)使用的是 prefork 模式,那么:ps -ef|grep httpd|wc -l 就是并发数了。也有例外,因为在 htttp-mpm.conf 中如果把空闲状态下 httpd 进程数配置的比较高,比如你配置是 100,其实你网站这个时候即使只有 5 个并发,但是 httpd 进程数也还是 100 个。

连接数和并发数不是一回事吧,并发是同时执行的请求数,保持连接不见得就发送请求了,两者不是一个概念