JFinal+Druid内存占用问题

littlebin 发布于 2016/09/23 13:21
阅读 1K+
收藏 2

使用Jfinal+Druid+mysql5.6,用LoadRunner进行查询的性能测试,100个vuser连续压10分钟左右,发现内存占用持续上升,Tomcat配置的2G内存很快被占完了,且查询响应时间随着内存的占用越来越长,但查询结束以后,内存不释放,仍然继续占用很高的内存,此后如果继续压的话,查询响应时间就很长(好几秒)。

请问,我是需要做什么设置么?

环境如下:

JFinal 1.9,Druid 1.0.25,Mysql5.6(max_connection=1000), Tomcat8.0+Linux服务器

连接池配置如下:

initialSize=100

maxWait=60000

maxActive=1000
filters=stat

minIdle=50

内存占用图:

加载中
0
littlebin
littlebin
执行GC了也不能释放
0
红薯苗
红薯苗
换c3p0试试
0
探索人生
探索人生
我也是这么用的,貌似没问题
0
关耳三金
关耳三金
maxActive配置过多了,配成20吧。initialSize 5个试试
0
xtgss007
xtgss007
mysql max_connection=1500.我用没问题。 我的是 50,1500 。mysql 2000 .忙的时候 在线用户 4w+
0
littlebin
littlebin
感谢各位大神,我们还要继续做测试,你们这样说我就心中有底了,应该不会是架构选型有问题
0
ddatsh
ddatsh
druid 监控页面 逻辑和物理连接关闭数看看是多少
0
JFinal
JFinal

       最重要是要定位不被释放的资源是什么资源,例如,是不是通过查询数据库得到的 List<Model> 对象,这些对象产生的速度是不是很快? 是不是快到远远大于回收的速度? 是不是对些对象的引用一直存在而造成的内存泄漏?

      贴出一下测试用的代码,对测试代码进行下简单分析

0
littlebin
littlebin
谢谢各位神回复,尤其是JFinal大神。经过我的反复试验,发现其实跟数据库没啥关系,主要是性能测试冲击下大量用户反复登录,shrio session内存不能及时清除,导致内存只增不减,经过一些处理,内存占用情况明显好转,明天再用loadRunner测试一下
littlebin
littlebin
回复 @听_风 : 其实比较简单,就是后来登录的用户把前面的同ID用户的Session删除就可以了
听_风
听_风
请问下是如何处理的?
返回顶部
顶部