编年史地图性能



我们公司对使用Chronicle地图非常感兴趣,但我们无法复制网站上宣传的性能。

Chronicle Map经过测试,可以在16核机器上每秒更新3000万次,密钥值为5亿

我们是否能够获得用于上述测试的硬件的详细信息?目前,我们正在c5.4xlarge(16Cores(AWS实例上运行testAcquirePer((示例。我们正在实现以下结果:

密钥大小:100万个条目。ChronicleMapBuilder{,actualSegments=512,minSegments=未配置,entriesPerSegments=-1,actualChunsPerSegmentTier=-1,averageKeySize=14.0,sampleKeyForConstantSizeComputation=未配置、averageValueSize=228.0,sampleValueForConstantSize Computation=没有配置,actualChunkSize=未配置,valueAlignment=1,entrs=1000000,putReturnsNull=false,removeReturnsNull=false,keyBuilder=net.openhft.chronicle.hash.serialization.impl.SerializationBuilder@6e1ec318,valueBuilder=net.openhft.chronicle.hash.serialization.impl.SerializationBuilder@7e0b0338}

入口大小:240个入口:1 M段:512吞吐量4.7 M操作/秒

入口大小:240个入口:1 M段:512吞吐量8.8 M操作/秒

入口大小:240个入口:1 M段:512吞吐量890 M操作/秒

VmPeak:13305376kB,VmSize:1293536kB,VmLck:0kB,VsPin:0kB、VmHWM:400868kB,VmRSS:14244kB,Vm数据:1033976kB,Vstk:144kB,VmExe:4kB,VsLib:19380kB,VmPTE:956kB,VSwap:0kB和

密钥大小:100万个条目。ChronicleMapBuilder{,actualSegments=512,minSegments=未配置,entriesPerSegments=-1,actualChunsPerSegmentTier=-1,averageKeySize=14.0,sampleKeyForConstantSizeComputation=未配置、averageValueSize=244.0,sampleValueForConstantSize Computation=没有配置,actualChunkSize=未配置,valueAlignment=1,entrs=1000000,putReturnsNull=false,removeReturnsNull=false,keyBuilder=net.openhft.chronicle.hash.serialization.impl.SerializationBuilder@6fc6f14e,valueBuilder=net.openhft.chronicle.hash.serialization.impl.SerializationBuilder@56235b8e}

入口大小:256个入口:1 M段:512吞吐量6.1 M ops/sec

入口大小:256个入口:1 M段:512吞吐量8.0 M操作/秒

入口大小:256个入口:1 M段:512吞吐量8.2 M操作/秒

VmPeak:13305376kB,VmSize:1293536kB,VmLck:0kB,VsPin:0kB、VmHWM:479544kB、VsRS:1145412kB、VmData:1042612kB、VStk:144kB、VM Exe:4kB、VmLib:19380kB、VmPTE:972kB、,构建成功总时间:11.046秒

如有任何帮助,我们将不胜感激。

问候Scott

此测试与原始测试之间存在一些显著差异。

在最初的测试中,

  • 条目大小为100字节
  • 启用并使用了超线程,使逻辑CPU的数量增加了一倍
  • 测试替换了整个条目,即DTO,而不是附加到String
  • 有更多的密钥,减少了争用
  • 基准测试是在保留到PCI SSD驱动器的裸金属机器上进行的

如果不进行进一步调查,您的结果似乎是合理的。

你的实际表现将取决于各种因素。我建议你测试一个更现实的用例,看看你能在那台机器上实现什么。

最新更新