7

What is the relationship between MaxMessageCount, AbsoluteMaxBytes, and PreferredMaxBytes?

A block in fabric consists of a MaxMessageCount number of transaction or PreferredMaxBytes?

What should be the value of these to get maximum throughput?

rahul singh Chauhan
  • 323
  • 1
  • 4
  • 15
Subhankar
  • 692
  • 7
  • 25

1 Answers1

4

Max Message Count: The maximum number of transactions/messages to permit in block.

Absolute Max Bytes: The (strict) maximum number of bytes allowed for serialized transactions/messages in a block.

Preferred Max Bytes: The preferred maximum number of bytes allowed the serialized transactions/messages in a batch. A transaction/message larger than the preferred max bytes will result in a batch larger than preferred max bytes.

The criteria that is encountered first will be taken into consideration while the orderer cuts the block.

If you have a constantly flowing high number of transactions, then pack as many transactions as possible in a block to get max throughput. Otherwise tweak the BatchTimeout and MaxMessageCount to optimize your transaction throughput.

If you want to dig deep on this aspect refer to this research paper: https://arxiv.org/pdf/1805.11390.pdf

arnabkaycee
  • 1,634
  • 13
  • 26