我正在使用Java servlet开发一个Web应用程序来访问Mysql数据库,如何获取当前打开的数据库连接数?
编辑:
我试过"show processlist",它告诉我:2695159,但那不对,我只是在开发这个新项目,我是唯一的用户,没有那么多进程在运行,我想要的是数量用户访问我项目的数据库,而不是所有数据库用户的数量,而只是登录到我的数据库的只有一个表的用户.
根据您的MySQL版本,您可以执行选择
SELECT COUNT(*) FROM information_schema.PROCESSLIST;
你可以where
在用户,数据库和主机IP之间进行操作.
例如:
USE information_schema; SELECT COUNT(*) FROM PROCESSLIST WHERE db ="mycase" AND HOST LIKE "192.168.11.174%"
您可以使用MySQL命令show processlist
获取连接数.
但是,这也会向您显示使用相同的userID与数据库建立的任何连接,这些连接可能不是来自您的servlet.
一般来说,我建议您最好使用连接池对象(请参阅http://java-source.net/open-source/connection-pools)来管理与MySQL服务器的连接.这可以通过使DB连接保持持久性来提高性能,因此您不必总是为每个页面加载都有新的数据库连接开销.
如果您的servlet需要知道连接数,那么您的连接池应该附带一个方法,告诉您当前有多少连接处于活动状态.