欢迎来到天天文库
浏览记录
ID:43589996
大小:34.50 KB
页数:8页
时间:2019-10-11
《高并发访问下数据库连接池探究及设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、高并发访问下数据库连接池探究及设计摘要:随着互联网网络的快速发展,互联网通讯技术也得到了飞速的提高,与此同时,用户对与网络的要求也是日益增好。现在对于通讯访问的便捷性和高校性,已经成为现在网络通讯的宗旨,然而随着网络技术的提髙,随之而来的问题也是接踵而至,在网络访问中,最为复杂也就属远程数据库访问了,在访问用户以较少的情❷r下,访问效果并不会受到太大的影响。但是网络的环境是复杂多变的,大型的网络数据库是不可能只有极少数的用户访问,如果还是采用传统的访问模式的话,就很有可能会造成许多问题,如用户等待时间过长、系统崩溃等
2、问题,随各种模式的连接池开始脱颖而出“连接池”,解决了现有网络高并发的访问难题,而对于数据库连接池的性能优化却很少被研究,该文主要研究如何将数据库连接池的性能达到最优化。关键词:互联网;高并发;数据库连接池中图分类号:TP311文献标识码:A文章编号:1009-3044(2017)08-0001-031背景传统的数据库访问是非常简单和笨拙的,以Connection数据库连接为例,在最初的数据库用户访问时,为了实现用户访问的同步性,我们为每一个请求访问的链接创建新的Connec-tion数据库连接接口,等此访问结束后再
3、将其Connection接口关闭和内存释放。在这种情况下,如果用户访问数不高,且服务器性能非常高的话,用户对等待时间还可以接受,而当用户访问数非常高时,则在同时访问的用户中,最后一位完成访问的用户将会等待比较长的时间。在连接方式方式,数据库连接又存在着长连接和短连接的情况,下面我们了解一下什么是长连接和短连接:所谓长连接指建立SOCKET连接后不管是否使用都保持连接,但安全性较差,所谓短连接指建立SOCKET连接后发送后接收完数据后马上断开连接,一般银行都使用短连接。长连接就是指在基于tcp的通讯中,一直保持连接,不
4、管当前是否发送或者接收数据。短连接就是只有在有数据传输的时候才进行连接,客户一服务器通信/传输数据完毕就关闭连接。长连接就是在程序生命周期当中使用同一个或者多个数据库连接短连接一般就是每一个操作都要打开和关闭数据库连接长连接,启动客户端进行唯一连接,只要进程不退出,则不断开此连接;短连接,每次操作数据库进行连接,操作完成之后关闭连接,下次再操作再建立连接。而多数远程数据访问(网路访问)多是以短连接的形式为主,因为这样可以节省服务器资源,并能在短时间内接受更多的用户访问。而服务器资源的有限性和用户访问的庞大,使得传统的
5、访问方式的笨拙性表现了出来,所以拿出一套能够有效地提高访问效率的方法产生:连接池的出现。在实际应用开发中,数据库连接池技术的思想非常简单,将数据库连接作为对象存储在一个Vector对象中,一旦数据库连接建立后,不同的数据库访问请求就可以共享这些连接,这样,通过复用这些已经建立的数据库连接,可以克服上述缺点,极大地节省系统资源和时间。数据库连接池的主要操作如下:1)建立数据库连接池对象(服务器启动)。2)按照事先指定的参数创建初始数量的数据库连接(即:空闲连接数)。3)对于一个数据库访问请求,直接从连接池中得到一个连接
6、。如果数据库连接池对象中没有空闲的连接,且连接数没有达到最大(即:最大活跃连接数),创建一个新的数据库连接。4)存取数据库。5)关闭数据库,释放所有数据库连接(此时的关闭数据库连接,并非真正关闭,而是将其放入空闲队列中。如实际空闲连接数大于初始空闲连接数则释放连接)。6)释放数据库连接池对象(服务器停止、维护期间,释放数据库连接池对象,并释放所有连接)。1.1系统设计1.1.1使用到的技术和工具1)数据库:MySQL6.61)开发工具Eclipse4.42)编程语言:javal.73)UML建模4)Socket通信5
7、)JDBC应用1.2模块化设计系统可分为以下几大模块:客户端用户登录,访问用户在访问前首先要进行的登陆及与服务器端先实现通讯连接,只有这样才能让用户在之后的访问实现即时通讯;服务器端管理访问,在大量用户同时访问时,需要服务器端使用数据库连接池对数据访问进行有效的管理;数据库查询,通过连接对数据库信息表进行索引查询,并将信息返回给服务器端,服务器端在转交给客户端。如图3、4、5所示:在客户端访问中,可重复性访问的方式多采用数据库短连接访问,这样可以减少服务器端的负载。服务器端界面设计含有:对话框区,广播区和用户列表区。
8、分别是用来客户端发送信息,显示用户发送信息和广播信息,存储用户名列表。由于服务器端需要同时连接客户端和服务器,所以程序复杂性较高。2数据库连接池的测试与分析1.1有连接池与没有连接池访问的性能对比测试为了测试数据连接池的性能,在设计时同时设计了没有连接池的数据访问情况,并对他们的数据访问情况进行了有效的统计和审核,并将它们规范征表格,以二维数组
此文档下载收益归作者所有