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

_______________________________________________
riak-users mailing list
riak-users@lists.basho.com
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

Reply via email to