You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We've found that it's difficult to run many chum instances across machines. Currently what we end up doing is run chum in a screen session, copy/paste the same chum invocation on each of our systems, copy the output when the test is done, and then paste the results together.
This is sub-optimal for a number of reasons:
This approach doesn't scale. If we wanted to test an entire datacenter with chum then we'd be in for a bad time copy/pasting or using an elaborate bash/ssh for loop.
screen sessions aren't great for running long performance tests. It's too easy to accidentally SIGINT the process and it's hard to see what's going on without logging into a zone, entering the screen session, and watching stdout for a while.
Forgetting to pipe the chum run's output to a file can lead to lost results. We could work around this by adding a flag to chum to allow users to specify output files.
Aggregating stats from tests that were started a few seconds apart is not the best approach. The numbers are probably accurate in aggregate, but it would be nice if we didn't have to do manual data cleanup using paste, or editing files in vim to make the columns line up properly.
To solve these problems I suggest that we add a server mode to chum. This will allow one chum 'client' to send a test configuration to N chum instances simultaneously and aggregate the results automatically. This is really inspired by MinIO's Warp tool: https://github.com/minio/warp, which supports this form of distributed benchmarking.
The server mode will, via a TBD network protocol:
Accept instructions from a client.
Object size distribution, read/write workload ratio, etc.
Allow clients to start and stop tests.
Report results on a client-specified interval to the chum client.
The text was updated successfully, but these errors were encountered:
We've found that it's difficult to run many chum instances across machines. Currently what we end up doing is run chum in a
screen
session, copy/paste the same chum invocation on each of our systems, copy the output when the test is done, and thenpaste
the results together.This is sub-optimal for a number of reasons:
for
loop.paste
, or editing files invim
to make the columns line up properly.To solve these problems I suggest that we add a server mode to chum. This will allow one chum 'client' to send a test configuration to N chum instances simultaneously and aggregate the results automatically. This is really inspired by MinIO's Warp tool: https://github.com/minio/warp, which supports this form of distributed benchmarking.
The server mode will, via a TBD network protocol:
The text was updated successfully, but these errors were encountered: