当前位置: 代码迷 >> Java Web开发 >> 系统并发量超过500的JDBC DAO该怎么设计
  详细解决方案

系统并发量超过500的JDBC DAO该怎么设计

热度:5640   发布时间:2016-04-11 00:11:32.0
系统并发量超过500的JDBC DAO该如何设计?
最近在做一个项目,并发量在500-800的样子,至少也500。项目中存和取各占50%比例。使用的是c3p0连接池,目前项目dao也只能支撑100并发的样子。

我想请问这种500以上的高并发的dao该如何设计?
dao 高并发 c3p0 jdbc

------解决方案--------------------
对于你的dao如何设计影响并不大,重在你的数据库如何设计和你的sql语句如何写法。
------解决方案--------------------
可以考虑采用流的方式,打印时不是把数据一次性全取出,而是分页取,然后不断往流里面写,类似Http Server的做法。这样内存占用较低,写个自己的BufferInputStream
------解决方案--------------------
假设有200个请求,每个请求只处理一条SQL语句,数据库连接池是100 connections.
所以在并发下最大只能同时处理100个请求,因为连接池就100个,当连接池能增大到200时可以并发处理(还要依赖于其他的资源是否充足)
------解决方案--------------------
可以考虑减少取数据的次数,比如参数使用缓存,减少访问次数。
------解决方案--------------------
不要全取,用分页取!
  相关解决方案