Хроника Карта Производительность
Наша компания очень заинтересована в использовании карт Chronicle, однако мы не можем воспроизвести результаты, указанные на сайте.
Chronicle Map была протестирована на 30 миллионов обновлений в секунду с 500 миллионами значений ключей на 16-ядерном компьютере.
Можем ли мы получить подробную информацию о том, какое оборудование использовалось для вышеуказанного теста? В данный момент мы запускаем пример testAcquirePerf() для экземпляра AWS c5.4xlarge (16 ядер). Мы достигаем следующих результатов:
Размер ключа: 1 миллион записей. ChronicleMapBuilder{, actualSegments=512, minSegments= не настроено, recordsPerSegment=-1, actualChunksPerSegmentTier=-1, averageKeySize=14.0, sampleKeyForConstantSizeComputation= не настроено, averageValueSize=228.0, sampleValueForConunkSize = непрямой конфигурации =1000000, putReturnsNull=false, removeReturnsNull=false, keyBuilder=net.openhft.chronicle.hash.serialization.impl.SerializationBuilder@6e1ec318, valueBuilder=net.openhft.chronicle.hash.serialization.impl0eeris77
EntrySize: 240 записей: 1 M сегментов: 512 пропускная способность 4,7 M ops / sec
EntrySize: 240 записей: 1 M сегментов: 512 пропускная способность 8,8 M операций в секунду
EntrySize: 240 записей: 1 M сегментов: 512 пропускная способность 8,9 M операций в секунду
VmPeak: 13305376 кБ, VmSize: 12936536 кБ, VmLck: 0 кБ, VmPin: 0 кБ, VmHWM: 400868 кБ, VmRSS: 142044 кБ, VmData: 1033976 кБ, VmStk: 144 кБ, VmExe: 4 КБ 3: 4 КБ, 4 КБ VmPTE: 956 кБ, VmSwap: 0 кБ,
Размер ключа: 1 миллион записей. ChronicleMapBuilder{, actualSegments=512, minSegments= не настроено, recordsPerSegment=-1, actualChunksPerSegmentTier=-1, averageKeySize=14.0, sampleKeyForConstantSizeComputation= не настроено, averageValueSize=244.0, sampleValueForConunkSize = непрямо настроено, неконфигурировано =1000000, putReturnsNull=false, removeReturnsNull=false, keyBuilder=net.openhft.chronicle.hash.serialization.impl.SerializationBuilder@6fc6f14e, valueBuilder=net.openhft.chronicle.hash.serialization.impleder.dll
EntrySize: 256 записей: 1 M сегментов: 512 пропускная способность 6,1 Mps / сек
EntrySize: 256 записей: 1 M сегментов: 512 пропускная способность 8,0 M операций в секунду
EntrySize: 256 записей: 1 M сегментов: 512 пропускная способность 8,2 M операций в секунду
VmPeak: 13305376 кБ, VmSize: 12936536 кБ, VmLck: 0 кБ, VmPin: 0 кБ, VmHWM: 479544 кБ, VmRSS: 145412 кБ, VmData: 1042612 кБ, VmStk: 144 кБ, VmExe: 4 кБ: 19 КБ VmPTE: 972 кБ, VmSwap: 0 кБ, СТРОИТЬ УСПЕШНОЕ Общее время: 11,046 с
Любая помощь будет высоко ценится.
С уважением, Скотт
1 ответ
Есть некоторые существенные различия между этим тестом и оригинальным.
В оригинальном тесте
- размер записи был 100 байт
- гиперпоточность была включена и использована, удваивая количество логических процессоров.
- тест заменял всю запись, т. е. DTO, вместо добавления строки.
- было больше ключей, уменьшающих раздор.
- Эталонный тест проводился на голой металлической машине, сохраненной на PCI SSD.
Без дальнейшего расследования ваши результаты представляются обоснованными.
Ваша фактическая производительность будет зависеть от множества факторов. Я предлагаю вам протестировать более реалистичный вариант использования, чтобы увидеть, чего вы можете достичь на этой машине.