【发布时间】:2012-06-05 22:22:49
【问题描述】:
我正在测试一个启动restlet的应用程序,当一个http请求到达restlet时,启动一个新线程并处理请求,应用程序创建一个新对象并存储在Map中( 对于我正在使用 Jmeter 的压力测试,我看到 java 进程内存有问题,我不知道问题是堆、堆栈还是其他问题,让我们展示一下问题:
我多次启动相同的案例,首先运行我的项目(当然是空缓存):
- 500个线程->线程的平均时间为1900毫秒
- 500个线程->线程的平均时间为600毫秒
- 500 个线程 -> 线程的平均时间为 598 毫秒
- 500 个线程 -> 线程的平均时间为 670 ms ....
如您所见,我的问题是第一次执行所需的时间比其他执行要长得多。每个线程都将实例化对象存储在 Map 中,并且当它为空时似乎工作很慢。有人知道谁可能会去吗?我试图增加 jvm 的堆启动内存,但不起作用。 如果有人知道任何可以阅读以帮助我欣赏它的参考资料
谢谢。
【问题讨论】:
标签: java memory heap-memory