To make it simple. No more networking. Just one node (with n = 1) and local
tests.

The producing of data is a simple CSV file read (ruled out too cause this
is fast).
Switched to bitcask:
{storage_backend, riak_kv_bitcask_backend},

Removed the index from the RiakObject (so now we have simple k/v).
Created a new bucket (just to be "clean").
And rerun the test.

Now it's better:
~450 inserts / second

I still think it's slow.

Hardware is pretty good:

Intel® Core™ i7-920 Quadcore incl. Hyper-Threading Technology

RAM: 8GB DDR3

HDD: 2 x 750 GB SATA 2 (RAID1)


What insert rate should i expect on a normal Debian 6.0 64 bit installation
(no tweaks) ?

I can only compare it with other DBs i have tested on the same machine:
ex: mongodb, kyototycoon

On Sun, Nov 20, 2011 at 10:56 PM, Aphyr <ap...@aphyr.com> wrote:

> On 11/20/2011 12:14 PM, Catalin Constantin wrote:
>
>> I am 100% sure the transfer rate is 10MBytes / second. This is not the
>> problem.
>>
>
> In ten years of network administration I have never encountered an
> ethernet device with a wire rate of 10 MBps. I have, however, encountered
> frequent confusion over units. Perhaps you understand my suspicion here. :)
>
>
>  IOWAIT is also pretty low. iostat shows: iowait 4.69%
>>
>
> If you read my email, I suggested that even values as low as 2.6% may
> suggest contention. It depends on your CPU arch and utilization. I would
> investigate your disks more closely. Are they spinning or solid-state?
> Median seek time? 95/99 seek times? Disk cache? Does the riak process spend
> disproportionate time in IO_WAIT relative to USER? Filesystem
> atime/relatime/noatime? FS block size properly aligned for your disk?
> Insufficient filesystem or leveldb cache? hdparm options? Is riak on an
> independent disk or competing with other processes, i.e. syslog, file
> servers, etc? Does strace show an unusual amount of time spent in certain
> system calls?
>
> It might just be leveldb, too. I only have experience with bitcask in
> production.
>
>
>  I have retried the test with one node, a new bucket newly created where
>> i have set: n to 1.
>> bucket.set_n_val(1)
>>
>> Results are the same. Less than 300 inserts / second.
>>
>
> This is good; it rules out replication.
>
>
>  Any idea why riak is so slow on inserting data ?
>>
>
> Disk, disk disk disk, disk disk? Disk!
>
> You could also look at the client. Are you writing to a local node or a
> remote one? Is your client's threading model getting in the way? Can you
> actually produce data fast enough to insert it? Is your client fighting for
> the same resources as the riak process? Presuming you've ruled these out,
> it's almost certainly network or disk.
>
> --Kyle
>



-- 
Catalin Constantin
Dazoot Software
http://www.dazoot.eu/
_______________________________________________
riak-users mailing list
riak-users@lists.basho.com
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

Reply via email to