查看mysql和pgsql当前实时连接数
mysql查看当前实时连接数
转载:https://www.cnblogs.com/jimmyshan-study/p/11013662.html
静态查看:
SHOW PROCESSLIST; SHOW FULL PROCESSLIST; SHOW VARIABLES LIKE '%max_connections%'; SHOW STATUS LIKE '%Connection%';
实时查看:
mysql> show status like 'Threads%'; +-------------------+-------+ | Variable_name | Value | +-------------------+-------+ | Threads_cached | 58 | | Threads_connected | 57 | ###这个数值指的是打开的连接数 | Threads_created | 3676 | | Threads_running | 4 | ###这个数值指的是激活的连接数,这个数值一般远低于connected数值 +-------------------+-------+ Threads_connected 跟show processlist结果相同,表示当前连接数。准确的来说,Threads_running是代表当前并发数 这是是查询数据库当前设置的最大连接数 mysql> show variables like '%max_connections%'; +-----------------+-------+ | Variable_name | Value | +-----------------+-------+ | max_connections | 100 | +-----------------+-------+ 可以在/etc/my.cnf里面设置数据库的最大连接数 max_connections = 1000
查看Postgresql数据库连接数
1、通过操作系统层的shell命令查看
ps -ef |grep postgres |wc -l
该命令只是一个大概进程数查询,这其中包含了很多数据库自身进程(例如archive进程等),如果想要精确连接数请考虑下面两种方式。
2、通过登录数据库后查看后台连接进程
SELECT count(*) FROM pg_stat_activity;
3、与2同理,但是此条SQL不包含当前查询进程
SELECT count(*) FROM pg_stat_activity WHERE NOT pid=pg_backend_pid();
4.重置pg表的序列号
select setval('表名_id_seq',(select max(id) from 表名));