Tuning settings in Tokyo

I am trying to find the best Tokyo Cabinet (or Tokyo Tyrant) configuration for my application, but I don’t know exactly how to do this. I know what some parameters mean, but I want to have fine tuning, so I need to know the effect of each of them. Tokyo documentation is really good, but not right now.

  • TCHDB -> *bool tchdbtune(TCHDB *hdb, int64_t bnum, int8_t apow, int8_t fpow, uint8_t opts);*

How to use: bnum , apow and fpow ?

  • TCBDB -> *bool tcbdbtune(TCBDB *bdb, int32_t lmemb, int32_t nmemb, int64_t bnum, int8_t apow, int8_t fpow, uint8_t opts);*

How to use: lmemb , nmemb , bnum , apow and fpow ?

  • TCFDB -> *bool tcfdbtune(TCFDB *fdb, int32_t width, int64_t limsiz);*

How to use: width and limsiz ? Note. I just set this to get all types of databases in this thread, it is very simple.

  • TCTDB -> *bool tctdbtune(TCTDB *tdb, int64_t bnum, int8_t apow, int8_t fpow, uint8_t opts);*

How to use: bnum , apow and fpow ?

+4
source share
1 answer

I faced the same problem.

But since the results will greatly depend on your application, I recommend two experimental experiments :

  • Rate your application with a low value and a high value for each parameter (use several runs to get confidence in the results).
  • Calculate based on test results (effect of each factor)

You have data indicating the importance of parameters. Factors with high effect are very important for performance, factors with low effect are not important.

You must fine tune important parameters.

+2
source

All Articles