我的服务器为每个请求创建多少个对象

时间:2014-06-10 13:03:34

标签: java performance garbage-collection

为了满足我的http服务器的SLA,我需要管理在GC中花费的时间。所以,我需要根据请求最小化新对象。

首先,我想要测量每个请求的新对象数量。我尝试通过堆转储差异来实现,但这显示了大量冗余数据。我觉得,我不仅捕获了根据请求创建的对象。

是否有任何简单的方法可以查看根据请求创建的对象平均

2 个答案:

答案 0 :(得分:0)

如果容器是WebSphere,则在使用ObjectAllocateCount选项时,如here所述,有一个选项-XrunpmiJvmpiProfiler。我没有试过这个。

答案 1 :(得分:0)

最后我使用了jvisualvm。

加载您的服务器,运行几千个预热请求。打开"监控"选项卡,按"执行GC"。然后打开profiler选项卡,将其配置为保存分配堆栈跟踪并运行。在服务器上运行重负载。等待100-200K请求并推送"快照"。

使用堆栈跟踪享受详细分配的对象日志!