fdb-kubernetes-operator
fdb-kubernetes-operator copied to clipboard
Support multiple logs per pod
What would you like to be added/changed?
We can change the number of storage server per pod with the storageServersPerPod setting. This allows more efficient use of IOPS, since FDB is limited to a single core. I think this is same to log process, so will we support to provision FDB with multiple logs on a single disk?
This is an interesting idea. Have you benchmarked its impact on FDB's performance? Having two tLogs competing the same disk's IOPS might affect performance.
tLog's disk capacity is typically over provisioned to keep the cluster available for hours when there are incidents in its downstream (i.e., storage servers). For the same size disk, sharing tLogs on a single disk will shorten the time we have to fix the downstream incidents without impacting cluster's availability. For high-density disk, it might be a good idea, assuming tLog's peak IOPS usage is less than 50% of disk's IOPS capacity.
Thinks for your reply! I had made a benchmark testing by using 4-machine cluster without k8s. I configured up to 10 tLogs processes per machine to reduce CPU usage, and saturate the IOPS of SSD, since I haven't found any description of how multiple tLogs competing against the same disk can affect performance.
I didn't compare the performance impact of different tLog number configuration.
As you mentioned, I guess the tLog is IO-intensive,and it requires more IO than storage server?
I think most of the code should be in place to support this and the required changes should be fairly small. If you identify a need for this feel free to open a PR with the required changes and tests.