Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用100-1000GB内存测试Java库_Java_Testing_Memory_Hosting - Fatal编程技术网

使用100-1000GB内存测试Java库

使用100-1000GB内存测试Java库,java,testing,memory,hosting,Java,Testing,Memory,Hosting,我有一个设计用于高效支持大型收藏的。我已经在24GB的PC上测试了它,但我想在更大的系统上测试它,最高可达1TB。大多数托管解决方案不支持这种内存大小,我只需要在短时间内访问 我测试的是一个5亿对象的集合,包含12个字段,完整GC时间低于0.11秒。我还有另一个测试,它仅用一个位存储1280亿个元素 库/测试很小,所以我只需要大量的主内存 您对我如何在不购买自己的96或192 GB服务器的情况下进行此测试有何建议?具有高内存实例,每个实例高达68.4 GB,并且按小时收费。当然,这不是100GB

我有一个设计用于高效支持大型收藏的。我已经在24GB的PC上测试了它,但我想在更大的系统上测试它,最高可达1TB。大多数托管解决方案不支持这种内存大小,我只需要在短时间内访问

我测试的是一个5亿对象的集合,包含12个字段,完整GC时间低于0.11秒。我还有另一个测试,它仅用一个位存储1280亿个元素

库/测试很小,所以我只需要大量的主内存


您对我如何在不购买自己的96或192 GB服务器的情况下进行此测试有何建议?

具有高内存实例,每个实例高达68.4 GB,并且按小时收费。当然,这不是100GB的内存,但是,如果您将其中的一些内存堆叠在一起……

您应该看看Amazon EC2或Google app engine。

联系Contegix-他们可能会免费帮助您,因为您有一个需要测试的开源库。我最近就同样的需求联系了他们,他们在一天内通过电子邮件进行了跟进,并在第二天打电话给我,我非常愿意使用跨越多个服务器的大量内存进行扩展测试


他们的页面描述了他们已经帮助过的人。只需填写我们的联系表,他们会很快回复您。

也许您可以使用“虚拟化”JVM,比如它的最大堆大小为512 GB。如果您与他们联系,他们可能会让您免费执行此测试——这将是他们的垃圾收集器的绝佳展示。

问题在于在一个JVM中运行它。;)这可能是最好的选择。我希望还有其他的。好吧,使用一个真正的JVM,它可以让你在多台机器上集群-p目的是测试性能,并使用改变性能的多台机器。看来我可以花3千英镑买一台128 GB的机器。我宁愿不这样做,只是为了测试软件。另一个报价是96 GB机器的1.8K英镑。@Voo,我同意堆大小天生是有限的。这就是库使用直接内存和内存映射文件的原因。这些只会导致一个微不足道的GC命中。JVM可以使用32 GB内存,堆小于16 MB。我必须问:如果您在寻找合适的环境来执行此类测试时遇到困难,这不是说明了测试本身的有效性吗?我不想让你大吃一惊,但如果你的任何用户都不太可能以如此极端的方式使用你的库,为什么还要用这些数量惊人的对象进行测试呢?如果您确实有一个(潜在)用户,那么他们很有可能为您提供一个合适的测试环境(因为这应该在某种程度上模拟他们的生产环境)。