首页 新闻 赞助 找找看

【紧急】系统每天访问人数800万左右,数据库频繁报连接池达到最大错误

1
悬赏园豆:100 [待解决问题]

 现在维护的公司系统每天访问人数800万左右,在数据库连接的时候,数据库频繁报连接池达到最大错误。.net 默认连接池100,也设置了连接池到512个,但是并没有解决问题,依然报连接池达到最大,请高手指点。

错误如下:      

A SimpleSql Save Exception Ocurred: Timeout expired.  The timeout period elapsed prior to obtaining a connection from the pool.  This may have occurred because all pooled connections were in use and max pool size was reached.

枫小子的主页 枫小子 | 初学一级 | 园豆:104
提问于:2014-05-26 16:39
< >
分享
所有回答(11)
0

一般都是因为有sql执行时间太长造成的.

用profiler监视看把太长的找出来.

这种一般加连接池是没意义的.

吴瑞祥 | 园豆:29449 (高人七级) | 2014-05-26 16:58

看了 也没有执行时间很长的。

支持(0) 反对(0) 枫小子 | 园豆:104 (初学一级) | 2014-05-26 17:41

@枫小子: 你筛选条件选超过300MS的,或者100毫秒的数量要是多肯定受不了的

不过都已经这个流量,没有做缓存吗?

支持(0) 反对(0) 吴瑞祥 | 园豆:29449 (高人七级) | 2014-05-26 17:55

@吴瑞祥: 看了 都没有超过100毫秒的,这个数据是必须存数据库的。

支持(0) 反对(0) 枫小子 | 园豆:104 (初学一级) | 2014-05-26 18:15

@枫小子: 

Audit Login/Logout 这个占用的时间挺长,会不会这里问题。

支持(0) 反对(0) 枫小子 | 园豆:104 (初学一级) | 2014-05-26 18:48

@枫小子: 要是实在不能减少数据库连接了.那更高端的我就没实际操作过了.我做过的也就减少连接长度和次数了.要是实在单机瓶颈就只能做分布式

支持(0) 反对(0) 吴瑞祥 | 园豆:29449 (高人七级) | 2014-05-26 18:49

@吴瑞祥: 恩 好的 谢谢指点

支持(0) 反对(0) 枫小子 | 园豆:104 (初学一级) | 2014-05-26 18:52
0

先使用计划任务将数据缓存到服务器,直接访问缓存,当数据库数据变化时候,再更新缓存数据

红萝卜 | 园豆:240 (菜鸟二级) | 2014-05-26 16:59

Memcache

支持(0) 反对(0) 红萝卜 | 园豆:240 (菜鸟二级) | 2014-05-26 17:01

一天800万的请求,memcache 容量是否够用。

支持(0) 反对(0) 枫小子 | 园豆:104 (初学一级) | 2014-05-26 17:34
0

一楼和二楼说的都很对

nianhua11 | 园豆:736 (小虾三级) | 2014-05-26 17:17
0

Memcached存放不经常变动的数据,减少与数据库的交互

秋壶冰月 | 园豆:5903 (大侠五级) | 2014-05-26 17:52
0

如果访问的数据都是需要从数据库中实时读取的话,可以考虑把应用跟数据库分开两台服务器部署,如果一台服务器放数据库还扛不住,可以考虑拆分数据库。

I,Robot | 园豆:9783 (大侠五级) | 2014-05-26 22:43
0

介绍一种简单有效的基于USB口的分布处理方式:一台机器接受服务请求,并通过usb口把数据库请求发送到1-10台机器(usb2.0 480Mbps\USB3.0 5Gbps)上, 这些机器完成数库操作,低成本即可完成大并发量,并发量轻易就可翻倍。

 

usb口的编程接口,这里有个资料:

http://blog.csdn.net/zzkjliu/article/details/8110718

LiuKaiFa | 园豆:1491 (小虾三级) | 2014-05-27 08:23
0

800W?什么系统?政府部门的系统吧?:

冲杀 | 园豆:230 (菜鸟二级) | 2014-05-27 18:24
0

Remember to close the connections. Always

using(SqlConnection conn = new SqlConnection("....")){

  //your db execution here.

}

wengda | 园豆:202 (菜鸟二级) | 2014-05-28 03:30
0

数据库 读取性能问题,建议缓存一些 数据、、、

或者查看一下 哪里死循环,哪里SELECT性能过低。。。或者建议增加数据库索引优化。。。

孑孓子 | 园豆:226 (菜鸟二级) | 2014-05-28 13:51
0

800w的访问量,可以考虑从硬件方面下手了。。

Rookier | 园豆:652 (小虾三级) | 2014-05-28 14:38
0

缓存+读写分离+只读数据库负载均衡

烧点饭 | 园豆:68 (初学一级) | 2014-05-29 17:08
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册