我们有一个使用Grails 2.0.1和MongoDB构建的应用程序。随着我们的用户群的增长,我们做了一些性能研究,我们注意到对于每个典型的请求,grails会消耗大约150Mb的RAM,当RAM即将达到最大值时,它会执行GC。我们为控制器设置了单例模式,为服务设置了非事务性模式。我们使用JRockit。
我想知道这对于grails应用程序来说是否正常。我们的网站只是一个普通的网站,没有额外的内存使用,只是一个用户管理系统,代码本身似乎是OK的。
下面是我们使用的插件:
app.grails.version=2.0.1,
app.servlet.version=2.4,
app.version=0.1,
plugins.cache-headers=1.1.3,
plugins.code-coverage=1.2.5,
plugins.codenarc=0.12,
plugins.crypto=2.0,
plugins.gsp-arse=1.3
plugins.jaxrs=0.6,
plugins.mongodb=1.0.0.RC5,
plugins.navigation=1.2,
plugins.quartz=0.4.2,
plugins.redis=1.0.0.M9,
plugins.rendering=0.4.3,
plugins.selenium=0.8,
plugins.selenium-rc=1.0.2,
plugins.spring-security-core=1.2.7.2,
plugins.springcache=1.3.1,
plugins.svn=1.0.1,
plugins.tomcat=2.0.1,
plugins.ui-performance=1.2.2发布于 2012-07-12 14:43:27
在Sun JDK上,启动jvisualvm (或等效的jrockit,如果有的话)。否则,为自己准备一个适合jrockit的分析器),将其附加到正在运行的服务器上,启动分析器并分析输出。这将给你一个去哪里寻找的想法。
也许你实际上是从后端存储中加载了那么多信息。但这只是一种猜测。
https://stackoverflow.com/questions/11444969
复制相似问题