计算TCP、nginx、mysql连接数
一、计算TCP连接数
1 2 3 4 | netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' 或者: netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"t",state[key]}' |
注意,计算出来的ESTABLISHED便是系统当前的tcp并发连接数。
二、计算nginx worker进程数
1 | ps aux | grep nginx | grep -vE 'grep|master' | wc -l |
三、计算mysql当前连接数和执行命令
1 2 | mysqladmin -umysql -pmysql status -i 3//3秒钟刷新一次 mysqladmin -umysql -pmysql processlist |
status命令各字段介绍:
Uptime: 42531138 Threads: 11 Questions: 21157248342 Slow queries: 121697 Opens: 3648618 Flush tables: 3 Open tables: 1024 Queries per second avg: 497.
Uptime:是mysql启动运行的时间;
Threads:当前的并发会话数;
Questions: 服务器启动以来客户的问题(查询)数目 (应该是只要跟mysql作交互:不管你查询表,还是查询服务器状态都问记一次);
Slow queries:慢查询次数;
Opens:服务器已经打开的数据库表的数量;
Flush tables: 服务器已经执行的flush …、refresh和reload命令的数量;
open tables:通过命令是用的数据库的表的数量,以服务器启动开始;
Queries per second avg:平均qps