Nodes Plus BlockchainМетодика нагрузочного тестирования

Фактически полученная производительность составляет от 10 до 36 тыс. транзакций в блоке. Транзакции собираются в блок раз в секунду, после чего производится расчет дерева Меркла и блок выпускается мастер-нодой, выбранной в соответствии с алгоритмом консенсуса.

Особенностью высокопроизводительного блокчейна является необходимость использования одновременно большого числа устройств для отправки транзакций (с установленными пользовательскими нодами), а также большого числа устройств для первичной обработки транзакций (с установленными полными нодами). Число полных и пользовательских нод является ограничивающим фактором при тестировании производительности.

Соотношение полных нод к пользовательским должно составлять 1:20...1:60, т.к., в зависимости от сервера, 1 пользовательская нода может отправить от 20 до 60 транзакций в секунду.

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

Однако, т.к. в практике децентрализованных приложений принято рассматривать только транзакции, включенные в блоки, мы проводили тесты на количество транзакций в блоках.

Результаты тестирования производительности:

Interval
4 full
8 full
16 full
32 full
1
0
0
0
0
5
0
0
0
32.964
15
7.53
23.756
41.114
27.906
30
16.985
45.461
36.719
34.537
Your browser does not support WebGL

Проверка параметров производительности была проведена на следующем оборудовании (ноды запускались одновременно):

  • 8 мастер-нод + 1 root-нода, сервер: 2*Xeon E5620 2.4ГГц (8 ядер, 16 потоков), 2*240 ГБ SSD, 48 ГБ DDR3
  • 8 полных нод, сервер: 2*Xeon E5620 2.4ГГц (8 ядер, 16 потоков), 2*240 ГБ SSD, 16 ГБ DDR3. Интервал кэширования транзакций 1,5,15 и 30 секунд.
  • 3*96 и 3*192 нод пользователей (эквивалент 12...18 тыс. и 28...35 тыс. нод по кол-ву одновременно отправляемых транзакций соответственно), 3 сервера: 2*Xeon E5620 2.4ГГц (8 ядер, 16 потоков), 2*240 ГБ SSD, 48 ГБ DDR3

Очевидная эффективная производительность может быть достигнута при установке интервала кэширования полных нод в 15 секунд и при соответствующем увеличении числа полных и пользовательских нод.

Cкачать скриншоты

Nodes PlusЗаявка на блокчейн-фреймворк
Nodes Plus WebsiteЗаявка на защищенный веб-сайт
Производительность

Nodes Plus

25000+TPS

32kbмакс. размер транзакции

0секунд валидация транзакции

1..15секунд добавление в блок