It seems Riak does not like the leveldb block_size to be changed to 64k. App config:
app.config: {sst_block_size, 65536}, basho_bench logs: 18:04:38.010 [info] Errors:[{{delete,delete},542},{{get,get},15921},{{put,put},1253},{{{delete,delete},disconnected},542},{{{get,get},disconnected},15921},{{{put,put},disconnected} ,1250},{{{put,put},timeout},3}] 18:04:48.003 [info] Errors:[{{delete,delete},1131},{{get,get},35704},{{put,put},2738},{{{delete,delete},disconnected},1131},{{{get,get},disconnected},35704},{{{put,put},disconnecte d},2732},{{{put,put},timeout},6}] node error.log: dev2/log/error.log.3:2013-08-09 14:50:51.203 [error] <0.3399.0>@riak_api_pb_server:handle_info:141 Unrecognized message {909113,{error,timeout}} dev2/log/error.log.3:2013-08-09 14:50:51.207 [error] <0.3446.0>@riak_api_pb_server:handle_info:141 Unrecognized message {22197453,{error,timeout}} dev2/log/error.log.3:2013-08-09 14:53:54.267 [error] <0.5125.3>@riak_api_pb_server:handle_info:141 Unrecognized message {13631220,{error,timeout}} dev2/log/error.log.3:2013-08-09 15:15:19.979 [error] <0.655.0> gen_fsm <0.655.0> in state active terminated with reason: bad argument in call to ets:lookup(ets_riak_core_ring_manager, {bucket,<<"test">>}) in riak_core_ring_manager:get_bucket_meta/1 line 179 I have deleted all the data between the tests and some tests are still running but it seems this configuration is not ideal. The important part of the basho_bench configuration: {mode, max}. {duration, 10}. {concurrent, 64}. {driver, basho_bench_driver_riakc_pb}. {key_generator, {int_to_bin, {uniform_int, 1000000}}}. {value_generator, {exponential_bin, 524288, 2048}}. I am running additional tests with different cache size, it might have an impact on how the system behaves. Regards, Istvan On Tue, Aug 13, 2013 at 3:12 PM, István <lecc...@gmail.com> wrote: > Hi Matthew, > > Thank you for the explanation. > > I am experimenting with different block size and making sure I have at > least 100G data on disk for the tests. > > I. > > > On Tue, Aug 13, 2013 at 12:11 PM, Matthew Von-Maszewski < > matth...@basho.com> wrote: > >> Istvan, >> >> "block_size" is not a "size", it is a threshold. Data is never split >> across blocks. A single block contains one or more key/value pairs. >> leveldb starts a new block only when the total size of all key/values in >> the current block exceed the threshold. >> >> Your must set block_size to a multiple of your typical key/value size if >> you desire multiple per block. >> >> Plus side: block_size is computed before compression. So, you might get >> nice reduction in total disk size by having multiple, mutually compressible >> items in a block. leveldb iterators / Riak 2i might give you slightly >> better performance with bigger blocks because there are fewer reads if the >> keys needed are in the same block (or fewer blocks). >> >> Negative side: the entire block, not single key/value pairs, go into the >> block cache uncompressed (cache_size). You can quickly overwhelm the block >> cache with lots of large blocks. Also random reads / Gets have to read, >> decompress, and CRC check the entire block. Therefore it costs you more >> disk transfer and decompression/CRC CPU time to read random values from >> bigger blocks. >> >> >> I suggest you experiment with your dataset and usage patterns. Be sure >> to build big sample datasets before starting to measure and/or restart Riak >> between building and measuring. These are ways to make sure you see the >> impact of random reads. >> >> Matthew >> >> >> On Aug 13, 2013, at 2:51 PM, István <lecc...@gmail.com> wrote: >> >> Hi guys, >> >> I am setting up a new Riak cluster and I was wondering if there is any >> drawback of increasing the LevelDB blocksize from 4K to 64K. The reason is >> that we have all of the values way bigger than 4K and I guess from the >> performance point of view it would make sense to increase the block size. >> The tests are still running to confirm this theory but I wanted to clarify >> that there is no big red flag of doing that from the Riak side. I found the >> following discussion about changing block size: >> >> https://groups.google.com/forum/#!msg/leveldb/2JJ4smpSC6Q/1Z7aDSeHiRkJ >> >> Is that a good idea to experiment with this in Riak to achieve better >> performance? >> >> Thank you in advance, >> Istvan >> >> >> -- >> the sun shines for all >> >> >> _______________________________________________ >> riak-users mailing list >> riak-users@lists.basho.com >> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com >> >> >> > > > -- > the sun shines for all > > > -- the sun shines for all
_______________________________________________ riak-users mailing list riak-users@lists.basho.com http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com