请问各位这个怎么解决,前几天的面试题目
现象: 连接(connection)也是影响MySQL性能的重要一方面。MySQL客户机与MySQL服务器之间的连接是MySQL客户机与MySQL服务器反复握手的结果。每次'握手'都经历身份验证、权限验证等环节,握手需要占用一定的网络资源和MySQL服务器内存资源。
针对以上现象,请提出解决方案??
请问各位这个怎么解决,前几天的面试题目
现象: 连接(connection)也是影响MySQL性能的重要一方面。MySQL客户机与MySQL服务器之间的连接是MySQL客户机与MySQL服务器反复握手的结果。每次'握手'都经历身份验证、权限验证等环节,握手需要占用一定的网络资源和MySQL服务器内存资源。
针对以上现象,请提出解决方案??
-- 步骤 建立连接(认证、权限等) 执行sql 销毁连接
-- 耗时: |<--------- t1 -------->|<------ t2 ----->|<------- t3 ------>
-- 总耗时: tt1 = 100 *(t1 + t2 + t3)
-- 预先建立 5 连接并保存起来复用
-- 耗时 5 * t1
-- 总耗时: tt2 = (5 * t1) + 100 * t2
-- 注:连接池的连接可以复用,下次不需要在重新建立连接,创建一次即可
BoneCP 是一个开源的快速的 JDBC 连接池。BoneCP很小,只有四十几K(运行时需要log4j和Google Collections的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。另外个人觉得 BoneCP有个缺点是,JDBC驱动的加载是在连接池之外的,这样在一些应用服务器的配置上就不够灵活。当然,体积小并不是 BoneCP优秀的原因,BoneCP 到底有什么突出的地方呢,请看看性能测试报告。(主页:http://jolbox.com/)
Druid
是阿里巴巴开源的连接池,"马爸爸"最近有点飘了,Druid
明明就是中国人开源的软件,官方网页竟然没有找到中文文档的入口,官网全英文!本来还想特地介绍一下 Druid
,想了一下还是算了吧!5 回答1.7k 阅读
4 回答651 阅读✓ 已解决
8 回答1.1k 阅读
3 回答941 阅读✓ 已解决
2 回答1.6k 阅读
1 回答781 阅读✓ 已解决
2 回答958 阅读
使用客户端连接池
连接池在java技术栈里很常见。
如:
连接池
https://en.wikipedia.org/wiki...
数据库
https://en.wikipedia.org/wiki...
JDBC 数据库连接池
https://docs.oracle.com/cd/E1...
java 常见的开源连接池实现
https://java-source.net/open-...
最近阿里的druid用的也比较多。
但其它语言就大不一样了,比如PHP,似乎没有听说有用的。