I am load-testing Ethereum using a private network of two nodes. The DApp is a web-service which stores and retrieves data in/from a smart-contract deployed in the private Ethereum. For load-testing I am using JMeter which simulates around 100 users over a period of 1 hour. The protocol flow submits 12 transactions per user, totalling around 1200 transactions. I have noticed this particular behaviour:
Each block contains only one transaction even though there are multiple transactions in the transaction pool. A screenshot is given below:
As you can imagine, the load testing creates a huge backlog of transactions in the transaction pool which takes a considerable amount of time to be included in the block.
I wonder why only one transaction is being included in the block. Is there any way to include more than one transaction in a single block?
I use Geth for interacting with the private blockchain. Its parameters are:
Version: 1.5.4-stable Git Commit: b70acf3c5bd335d8dedc2a5aa6eff05c4c32105e Protocol Versions: [63 62] Network Id: 1 Go Version: go1.7.3 OS: linux
Thanks in advance.