<p>The provided approach is correct.</p>

<p>A binary itself does not handle any requests. When you run <code>bitcoind</code> with separate instances of the config and data directories, the system will create multiple instances of the <code>bitcoind</code> program to execute. Each of these instances is a fully independent bitcoin node, and has no relation to any other instance running on that machine.</p>

<p>Copying the binary will make no difference.</p>

CC BY-SA 4.0
2019-10-13T10:38:57.670Z
Thank you for your answer and clarification.
curious
CC BY-SA 4.0
2020-09-02T01:24:23.423Z
Just to add to what @RaghavSood said.  You also need to make sure that you have set a unique port in each of the configurations you are providing to the Bitcoin daemons, for their respective communication channel, otherwise the second and third demons will fail with a 'port already in use'.
ConceptRat
CC BY-SA 4.0
2019-10-13T08:44:01.990Z
2019-10-13T08:44:01.990Z
Raghav Sood
<p>I wish to run multiple instances of <code>bitcoind</code> on my server to support highly read intensive RPC applications. </p>

<p>Following links:</p>

<p><a href="https://bitcoin.stackexchange.com/q/73432">how to run multiple bitcoind node on one server?</a></p>

<p><a href="https://bitcoin.stackexchange.com/q/30264/">Running Multiple Full Nodes on one Host</a></p>

<p><a href="https://bitcoin.stackexchange.com/q/1270/">Is it possible to run more than one client instance on a machine?</a></p>

<p><a href="https://bitcoin.stackexchange.com/q/13582/">How do I run two instances of bitcoind on the same linux machine with different conf files?</a></p>

<p>suggests that by using different conf file and data dir we can run multiple instances.</p>

<p>However, my doubt is that since in each case, we are specifying different config file and data dir to same binary <code>bitcoind</code>, e.g.</p>

<pre><code>bitcoind -datadir=./bitcoinNode1/ -conf=./bitcoinNode1/bitcoin.conf
bitcoind -datadir=./bitcoinNode2/ -conf=./bitcoinNode2/bitcoin.conf
bitcoind -datadir=./bitcoinNode3/ -conf=./bitcoinNode3/bitcoin.conf
</code></pre>

<p>Does same single binary <code>bitcoind</code> is going to handle request for all instances (bitcoinNode1, bitcoinNode2, bitcoinNode3)? In such case load will be on single binary and I have a doubt for performance gain.</p>

<p>Or is it better to create different binaries <code>bitcoind1</code>, <code>bitcoind2</code> etc. for each config+data_dir combo?</p>

<p>Thanks.</p>

<bitcoind><client><full-node><linux>
Running multiple bitcoin instances on same server system
curious
# Running multiple bitcoin instances on same server system

(Asked by: username_0 on 2019-10-13)

I wish to run multiple instances of `bitcoind` on my server to support highly read intensive RPC applications.

Following links:

[how to run multiple bitcoind node on one server?](https://bitcoin.stackexchange.com/q/73432)

[Running Multiple Full Nodes on one Host](https://bitcoin.stackexchange.com/q/30264/)

[Is it possible to run more than one client instance on a machine?](https://bitcoin.stackexchange.com/q/1270/)

[How do I run two instances of bitcoind on the same linux machine with different conf files?](https://bitcoin.stackexchange.com/q/13582/)

suggests that by using different conf file and data dir we can run multiple instances.

However, my doubt is that since in each case, we are specifying different config file and data dir to same binary `bitcoind`, e.g.

```
bitcoind -datadir=./bitcoinNode1/ -conf=./bitcoinNode1/bitcoin.conf
bitcoind -datadir=./bitcoinNode2/ -conf=./bitcoinNode2/bitcoin.conf
bitcoind -datadir=./bitcoinNode3/ -conf=./bitcoinNode3/bitcoin.conf

```

Does same single binary `bitcoind` is going to handle request for all instances (bitcoinNode1, bitcoinNode2, bitcoinNode3)? In such case load will be on single binary and I have a doubt for performance gain.

Or is it better to create different binaries `bitcoind1`, `bitcoind2` etc. for each config+data\_dir combo?

Thanks.

**Tags:** bitcoind, client, full-node, linux


---

## 1 answers

### Answer by username_1 on 2019-10-13. Score: 3 | Accepted answer

The provided approach is correct.

A binary itself does not handle any requests. When you run `bitcoind` with separate instances of the config and data directories, the system will create multiple instances of the `bitcoind` program to execute. Each of these instances is a fully independent bitcoin node, and has no relation to any other instance running on that machine.

Copying the binary will make no difference.

> **Comments:**
> **username_0**: Thank you for your answer and clarification.  
> **username_2**: Just to add to what @username_1 said.  You also need to make sure that you have set a unique port in each of the configurations you are providing to the Bitcoin daemons, for their respective communication channel, otherwise the second and third demons will fail with a 'port already in use'.  

---

