# WARNING A single process is both a transaction log and a storage server

**URL:** <https://forums.foundationdb.org/t/warning-a-single-process-is-both-a-transaction-log-and-a-storage-server/1529>\
**Category:** Using FoundationDB\
**Created:** [July 18, 2019, 2:42pm UTC](https://forums.foundationdb.org/t/warning-a-single-process-is-both-a-transaction-log-and-a-storage-server/1529 "2019-07-18T14:42:38Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Vasilii](https://avatars.discourse-cdn.com/v4/letter/v/258eb7/32.png) [@Vasilii](https://forums.foundationdb.org/u/Vasilii)\
**Post date:** [July 18, 2019, 2:42pm UTC](https://forums.foundationdb.org/t/warning-a-single-process-is-both-a-transaction-log-and-a-storage-server/1529/1 "2019-07-18T14:42:38Z")

</div>

WARNING: A single process is both a transaction log and a storage server.  
For best performance use dedicated disks for the transaction logs by setting process classes.

We have this warning and have some question

we have  
1 ssd for 2~3 process

what we must change

use 1 ssd for all process log  
and other ssd for data

[fdbserver.4500]  
datadir = /ssd1/data/foundationdb/data/$ID  
logdir = /ssdLOG/log/foundationdb  
[fdbserver.4501]  
datadir = /ssd2/data/foundationdb/data/$ID  
logdir = /ssdLOG/log/foundationdb

or  
change for process data in one ssd and log other ssd for all process

[fdbserver.4500]  
datadir = /ssd1/data/foundationdb/data/$ID  
logdir = /ssd2/log/foundationdb  
[fdbserver.4501]  
datadir = /ssd2/data/foundationdb/data/$ID  
logdir = /ssd3/log/foundationdb

now we use

[fdbserver.4500]  
datadir = /ssd1/data/foundationdb/data/$ID  
logdir = /ssd1/log/foundationdb  
[fdbserver.4501]  
datadir = /ssd2/data/foundationdb/data/$ID  
logdir = /ssd2/log/foundationdb

Configuration:  
Redundancy mode - triple  
Storage engine - ssd-2  
Coordinators - 5

Cluster:  
FoundationDB processes - 300  
Machines - 10  
Memory availability - 8.5 GB per process on machine with least available  
Retransmissions rate - 2 Hz  
Fault Tolerance - 2 machines  
Server time - 07/18/19 17:31:54

Data:  
Replication health - Healthy  
Moving data - 0.000 GB  
Sum of key-value sizes - 692 MB  
Disk space used - 35.854 GB

Operating space:  
Storage server - 1696.9 GB free on most full server  
Log server - 1696.9 GB free on most full server

Workload:  
Read rate - 51 Hz  
Write rate - 0 Hz  
Transactions started - 12 Hz  
Transactions committed - 0 Hz  
Conflict rate - 0 Hz

Backup and DR:  
Running backups - 0  
Running DRs - 0

Client time: 07/18/19 17:31:35

WARNING: A single process is both a transaction log and a storage server.  
For best performance use dedicated disks for the transaction logs by setting process classes.

---

<div class="post-metadata">

**Author:** ![alexmiller](https://sea1.discourse-cdn.com/foundationdb/user_avatar/forums.foundationdb.org/alexmiller/32/326_2.png) [@alexmiller](https://forums.foundationdb.org/u/alexmiller)\
**Post date:** [July 19, 2019, 2:12am UTC](https://forums.foundationdb.org/t/warning-a-single-process-is-both-a-transaction-log-and-a-storage-server/1529/2 "2019-07-19T02:12:00Z")

</div>

> [@Vasilii](#):
>
> For best performance use dedicated disks for the transaction logs **by setting process classes**

[Configuration — FoundationDB 7.1](https://apple.github.io/foundationdb/configuration.html#guidelines-for-setting-process-class) is the official documentation on this subject, but there’s also been a number of threads over time. For example:

> [@Cluster tuning cookbook](https://forums.foundationdb.org/t/cluster-tuning-cookbook/520):
>
> Hello everyone. I’m try to properly configure a cluster and struggling with the following behavior: There are 8 machines, each is 4 cores, 8GB of memory Each machine runs one FDB instance Engine is double ssd There are 5 coordinators in total Right now the transaction speed is just a little above 11k per second. Each transaction is 4 reads and 2 writes (non-atomics), key is around 64 bytes, value is less than 100 bytes. Looks like it’s quite underperforming and I’d appreciate some advice wh…

> [@Production optimizations](https://forums.foundationdb.org/t/production-optimizations/601):
>
> Hi, Finally my cluster is up and running so I was able to do some significant testing. At this point, we’re using it as a cache, with a very simple transaction logic \_, err = db.Transact(func(tr fdb.Transaction) (ret interface{}, err error) { future := tr.Get(sub.Pack(tuple.Tuple{"cache", ID})) res := future.MustGet() if len(res) == 0 { tr.Set(sub.Pack(tuple.Tuple{"cache", ID}), []byte(strconv.FormatInt(time.Now().UnixNano(), 10))) processChan \<- id } ret…

> [@Why doesn't my cluster performance scale when I double the number of machines?](https://forums.foundationdb.org/t/why-doesnt-my-cluster-performance-scale-when-i-double-the-number-of-machines/640):
>
> Hello fellow FDB aficionado! grinning I was wondering if you could help me identifying why I am not seeing any improvements after I scale my FDB cluster out. I have read the [performance page](https://apple.github.io/foundationdb/performance.html) and I know it is supposed to scale… I must be doing something incorrectly. Explanation: Let me be more specific with a benchmark I just run today using FDB 5.2 on linux on AWS/EC2. I started a cluster of 10 instances (i3.xlarge with NVME SSD 900GB high network throughput, 4vCPU). For information I ha…

---

<div class="post-metadata">

**Author:** ![Rjerk](https://sea1.discourse-cdn.com/foundationdb/user_avatar/forums.foundationdb.org/rjerk/32/1056_2.png) [@Rjerk](https://forums.foundationdb.org/u/Rjerk)\
**Post date:** [January 31, 2023, 6:35am UTC](https://forums.foundationdb.org/t/warning-a-single-process-is-both-a-transaction-log-and-a-storage-server/1529/3 "2023-01-31T06:35:46Z")

</div>

Hi @alexmiller

If a process has class type ‘log’ but it has both a transaction log and a storage server.

How to detach the storage role from the process?

I already tried to restart the process but it’s not working.
