- Hi, all,
First, thanks for YCSB! We're using the suite to test the performance of some mostly/completely in-memory tables against several KV stores, including our own, but initially appear to be limited by the YCSB client's performance. (Not completely sure.) Do you guys have any hints for how best to configure YCSB, or common mistakes that might cause the client to be the bottleneck?
Thanks for any help you can give.
Eddie Kohler / UCLA
- I'm glad you find YCSB useful!
The key parameter for client performance is the number of client threads. We used hundreds of threads, as many as 500, to offer enough load so the client was not the bottleneck.
However, we only benchmarked disk-resident stores. It is possible that with main memory databases, a single client machine cannot offer enough load to saturate the database (especially if the database is a cluster of several machines) without the client becoming the bottleneck.
Are you observing that the client's CPU is saturated, or the network card?
It may be necessary to run multiple YCSB clients on different machines in order to offer enough load to the database. There is no official framework for coordinating multiple clients yet (though we'd be happy to include code in the git repository if you wrote it.) But it should not be too hard to use a script to start up multiple clients and aggregate their measurements.