Хроника Карта Производительность - PullRequest
0 голосов
/ 30 октября 2018

Наша компания очень заинтересована в использовании карт хроники, однако мы не можем воспроизвести исполнение, как было объявлено на веб-сайте.

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, sampleValueForConunkSizeSignSize = неконфигурировано = 1000000, putReturnsNull = false, removeReturnsNull = false, keyBuilder=net.openhft.chronicle.hash.serialization.impl.SerializationBuilder@6e1ec318, valueBuilder=net.openhft.chronicle.hash.serialization.impl0eeserization7B1

Размер записи: 240 записей: 1 M Сегменты: 512 Пропускная способность 4,7 M ops / sec

Размер записи: 240 записей: 1 М Сегменты: 512 Пропускная способность 8,8 Мбит / с

Размер записи: 240 записей: 1 М Сегменты: 512 Пропускная способность 8,9 Мбит / с

VmPeak: 13305376 кБ, VmSize: 12936536 кБ, VmLck: 0 кБ, VmPin: 0 кБ, VmHWM: 400868 кБ, VmRSS: 142044 кБ, VmData: 1033976 кБ, VmStk: 144 кБ, VmBm: 4 VB: VmExe: 4 19380 кБ, VmPTE: 956 кБ, VmSwap: 0 кБ,

Размер ключа: 1 миллион записей. ChronicleMapBuilder {, actualSegments = 512, minSegments = не настроен, recordsPerSegment = -1, actualChunksPerSegmentTier = -1, averageKeySize = 14.0, sampleKeyForConstantSizeComputation = не настроено, averageValueSize = 244.0, sampleValueForConunkSizeSign = = значение не указано, настроено, не настроено, не настроено, не настроено, не настроено, не настроено, не настроено, не сконфигурировано, не настроено, не настроено, не настроено, не настроено, не настроено, не настроено, не настроено, не настроено, не настроено, не настроено, не настроено, не настроено, не настроено, не настроено, не указано = 1000000, putReturnsNull = false, removeReturnsNull = false, keyBuilder=net.openhft.chronicle.hash.serialization.impl.SerializationBuilder@6fc6f14e, valueBuilder=net.openhft.chronicle.hash.serialization.impil

Размер записи: 256 записей: 1 М Сегменты: 512 Пропускная способность 6,1 Мбит / с

Размер записи: 256 записей: 1 М Сегменты: 512 Пропускная способность 8,0 Мбит / с

Размер записи: 256 записей: 1 М Сегменты: 512 Пропускная способность 8,2 Мбит / с

VmPeak: 13305376 кБ, VmSize: 12936536 кБ, VmLck: 0 кБ, VmPin: 0 кБ, VmHWM: 479544 кБ, VmRSS: 145412 кБ, VmData: 1042612 кБ, VmStk: 144 кБ, VmEx: 4 КБ, VmEx: 4 19380 кБ, VmPTE: 972 кБ, VmSwap: 0 кБ, СТРОИТЬ УСПЕШНО Общее время: 11,046 с

Любая помощь будет принята с благодарностью.

С уважением, Скотт

1 Ответ

0 голосов
/ 30 октября 2018

Существуют некоторые существенные различия между этим тестом и исходным.

В исходном тесте

  • размер записи был 100 байтов
  • гиперпоточность была включена и использована, удваивая количество логических процессоров.
  • тест заменял всю запись, т.е. DTO, а не добавлял к строке.
  • было больше ключей, уменьшающих конфликт.
  • бенчмарк был на голой железной машине, сохраненной на PCI SSD.

Без дальнейшего расследования ваши результаты представляются разумными.

Ваша фактическая производительность будет зависеть от множества факторов. Я предлагаю вам протестировать более реалистичный вариант использования, чтобы увидеть, чего вы можете достичь на этой машине.

...