Corda - производительность в потоках с несколькими состояниями в одной транзакции - PullRequest
0 голосов
/ 06 августа 2020

Я пытаюсь улучшить производительность своего cordapp. Я использую Corda с открытым исходным кодом с postgres.

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

Может ли кто-нибудь объяснить мне, почему пакетная регистрация была медленнее, чем выполнение индивидуальных вызовов? * И я намерен использовать Corda Enterprise, которая позволит мне вызывать потоки параллельно. Является ли решение с параллельным потоком более рекомендуемым, чем пакетное состояние в одной транзакции?

1 Ответ

1 голос
/ 07 августа 2020

Пакетная обработка действительно помогает при попытке достичь большей пропускной способности. Но вам нужно найти оптимальный размер пакета.

Здесь вы можете найти различные результаты тестирования производительности, которые могут помочь вам получить лучшее представление:

https://docs.corda.net/docs/corda-enterprise/4.5/node/performance-results.html

На рисунке 2 показано, как изменяется пропускная способность в зависимости от состояний вывода на транзакцию.

Также обратите внимание, что большинство результатов измеряет производительность Corda Enterprise, результаты с Opensource будут другими.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...