Introducing: Steem Pressure #1

  • Have you ever wondered how Steem works?
  • How does it behave in different environments?
  • What equipment is used to keep it running?
  • How important is fast local storage?
  • How much RAM is enough?
  • More cores or a higher frequency?
  • Are NVMes worth their price?

You will find the answers in a series of posts called Steem Pressure.
Hopefully, in addition to offering answers, it will also encourage you to ask more questions.


Video created for Steem Pressure series.

How much resources are needed to run a Steem node?

What hardware is required to do that in a reliable way?

42

Other than that, there’s no ultimate answer.
It all depends on your specific needs.
You might need just a local, private node to connect your cli_wallet to it, check your accounts, and broadcast some transactions, and that’s not a problem if it’s 5 seconds behind the head block.
Sometimes you might need to run “just” a seed node and an occasional I/O hiccup isn’t a big deal.
But there are certainly situations in which you need to aim higher.
You might need to have a full API node that can return results of a thousand get_block requests in less than a second.
Or a witness node that can always generate blocks on time.
Or a state provider that can replay the blockchain as fast as possible.

OK, but let’s say that I need just a basic Steem node: a seed node.

Minimum requirements

If you have a fast, low latency local storage, you can probably run such a node on a machine with as little as 8GB RAM. However, that’s not recommended.

Why?

Hardware is cheap. It’s people and their skills that cost money, and skilled professionals are worth their price.
Instead of wasting my time trying to run Steem on a potato, I would like to give you more information about various configurations so that you can make better choices while building your new setups.

But I need to know exactly the minimum requirements needed to run steemd.

What I can tell you for sure about minimum requirements is that they are outdated.
And they will always be.
The Steem platform is getting bigger and bigger, and the Steem blockchain is taking more and more space.
It will require more and more disk space for the blockchain and memory to keep the data ready to access when needed.
Of course, developers are working on optimizing the utilization of server resources. Nonetheless, there will be more and more data to be processed.

Recommended requirements

For now, for a low memory node, I would say these are: x86 CPU, 24GB RAM, 100GB SSD.

But….

Steem is growing (and that’s awesome!)

Here’s how Steem has evolved so far:


consensus_delta.png
Increase of the block_log and shared_memory sizes per 100,000 blocks, for Steem consensus node.


steem_space.png
Size that Steem consensus node required for both block_log and shared_memory.


block_to_shm_ratio.png
Higher ratio means that relatively small amount of shm is needed to handle the given blockchain size.


missed_blocks.png
Time drift caused by expected vs produced blocks per day.

Trivia:
  • Just before the end of 2017, we crossed the 1GB/100k blocks mark. Twice.
  • At the beginning, the Steem blockchain grew in size at a rate of less than 4MB per day.
  • When the year 2017 started, the blockchain was 5900MB in size and grew at a rate of 22MB/day. When it ended, the blockchain was 53125MB in size and grew at a rate of 302MB/day.


If you believe I can be of value to Steem, please vote for me (gtg) as a witness on Steemit's Witnesses List or set (gtg) as a proxy that will vote for witnesses for you.
Your vote does matter!
You can contact me directly on steemit.chat, as Gandalf



Steem On

H2
H3
H4
3 columns
2 columns
1 column
185 Comments