Hello, I’m running three node ssd cluster in double configuration (posted below). I cannot seem to scale proxies through fdbcli:
fdb> configure proxies=3
Configuration changed
Yet when I grep roles, there is only one proxy. Not that I need to scale for real, but that makes me uneasy, why proxy numbers are not increasing? There are plenty of stateless processes without roles:
fdb> status
Using cluster file `/etc/foundationdb/fdb.cluster'.
Configuration:
Redundancy mode - double
Storage engine - ssd-2
Coordinators - 3
Desired Proxies - 3
Desired Resolvers - 1
Desired Logs - 6
Usable Regions - 1
Cluster:
FoundationDB processes - 149
Zones - 3
Machines - 3
Memory availability - 7.1 GB per process on machine with least available
Fault Tolerance - 1 machines
Server time - 05/06/21 13:42:11
Data:
Replication health - Healthy
Moving data - 0.000 GB
Sum of key-value sizes - 2.678 GB
Disk space used - 14.370 GB
Operating space:
Storage server - 1796.5 GB free on most full server
Log server - 1796.5 GB free on most full server
Workload:
Read rate - 1780 Hz
Write rate - 1713 Hz
Transactions started - 53 Hz
Transactions committed - 43 Hz
Conflict rate - 2 Hz
Backup and DR:
Running backups - 0
Running DRs - 0
Client time: 05/06/21 13:42:10
I can’t find anywhere in documentation where this is explained, but I believe that what’s happening here is that the cluster intentionally tries to recruit all of the stateless transaction subsystem processes in the same datacenter. This is because they all need to interact with each other frequently, and it is costly if this is happening over a large latency.
I’m not actually sure why it would be unable to recruit multiple proxies on the same host when you have a bunch of stateless class processes there. I didn’t think there were any restrictions that prevented that, but I could be mistaken.