0

我们正在尝试加载测试 GWT 应用程序(2.0.4),其中所有小部件都加载在单个页面上,并且在加载页面时会进行近 20 次 rpc 调用。

服务器:JBoss 5,我们正在使用 JConsole 监控堆内存。

在负载测试期间,我们注意到堆内存即使对于最少的用户数也会增加到最大值。但是,一旦触发 gc,内存就会被回收。

谁能解释为什么服务器上的 GWT 应用程序的内存利用率(堆内存)如此之高,即使对于少量用户也是如此?

我们正在使用 Hibernate + Spring 框架。

4

1 回答 1

1

1) 通过组合它们获取的数据,这将有助于减少应用程序屏幕启动时 GWT RPC 调用的数量。加载时的多个 RPC 调用往往会阻塞浏览器和服务器上的大量资源。

2) 分析您是否需要 RPC 调用首先获取的所有数据。

3) 堆空间使用量取决于您使用 Hibernate、Dozer、Gilead、延迟/缓存加载等的服务器端技术。

4) 代码拆分和片段合并可帮助您减少您首先加载的应用程序 javascript。

我猜您正在使用 Dozer 将休眠实体复制到客户端的 DTO/bean。尝试使用休眠 C3P0 连接池设置。

于 2012-11-22T08:39:56.163 回答