I'd like to know how many tx/sec does ethereum clients(like geth) in private network can process. Is there any benchmark software which can send many transactions or messages to ethereum clients?
2 Answers
The simplest would be to try it your own.
The getTime() method returns the number of milliseconds since midnight of January 1, 1970.
Example:
First unlock your account: personal.unlockAccount(sender, password, time);
then execute:
var start = new Date().getTime();
var amount = 1;
var sender = personal.listAccounts[0]
var receiver = personal.listAccounts[0]
for (i = 0; i < 5000; ++i) {
eth.sendTransaction({from:sender, to:receiver, value: amount});
}
var end = new Date().getTime();
var time = end - start;
console.log('Execution time: ' + time);
I don't know of any pre-written benchmark software.
I do know that the speed is directly related to how many CPU cores you have available, how much RAM you have and even the speed of the HDD.
I can get ~ 300 read transactions/second on a 2-core geth server. Writes will certainly be slower than that.