Краткий ответ: уменьшить BatchTimeout в configtx.yaml
Длинный ответ:
Если вы выполняете только один запрос, как вы описываете, это в целом нормально.
Если вы смотрите на свой configtx.yaml, в части 'Orderer', вы можете увидеть это:
Orderer: &OrdererDefaults
# Orderer Type: The orderer implementation to start
# Available types are "solo" and "kafka"
OrdererType: solo
Addresses:
- orderer.example.com:7050
# Batch Timeout: The amount of time to wait before creating a batch
BatchTimeout: 2s
# Batch Size: Controls the number of messages batched into a block
BatchSize:
# Max Message Count: The maximum number of messages to permit in a batch
MaxMessageCount: 10
# Absolute Max Bytes: The absolute maximum number of bytes allowed for
# the serialized messages in a batch.
AbsoluteMaxBytes: 99 MB
# Preferred Max Bytes: The preferred maximum number of bytes allowed for
# the serialized messages in a batch. A message larger than the preferred
# max bytes will result in a batch larger than preferred max bytes.
PreferredMaxBytes: 512 KB
Есть 2 важных вещи:
- BatchTimeout
- MaxMessageCount
BatchTimeout определяет максимальное время до создания блока. Это означает, что при выполнении вызова заказчик вычисляет транзакцию и ждет 2 секунды, прежде чем создать блок. Это означает, что каждая первая транзакция займет больше 2 секунд! Но если есть другой вызов, скажем, через 1,5 с после первой транзакции, второй вызов займет менее 1 с!
MaxMessageCount, говорит сам за себя. Это означает, что если будет более 10 вызовов, будет создан блок, даже если 2 секунды не прошли. Например, вызов 10 в строке 0,5 с приведет к созданию блока менее чем за секунду.
Эти настройки предназначены для балансировки нагрузки в зависимости от вашей сети. Допустим, у вас малоиспользуемое приложение, со скоростью менее 10 т / с (транзакция в секунду), вы можете уменьшить BatchTimeout до менее 2 с, чтобы увеличить время отклика на вызов. Если у вас высокая скорость передачи, вы можете увеличить MaxMessageCount, чтобы создать больший блок.
Другие настройки определяют максимальный размер сообщения.
Попробуйте узнать, как будет работать ваша сеть, смоделируйте оцените количество операций в секунду с помощью тестового примера и настройте параметры, чтобы найти конфигурацию, соответствующую вашим потребностям.