On Feb 18, 2009, at 5:28 AM, evgeny_n wrote:

i can't understand some thing, please explain me =)
I have writing performance about 30 documents per second.

If you're writing documents in individual transactions, that's around what I would expect. I'm not experienced with CouchDB, but I've done a lot of work with sqlite, which is similar in that it's a local filesystem-based database. Transactions are expensive because each one requires updating the file and flushing the filesystem changes to disk (the latter cost can be very significant.)

Best result that I get is about 30 sends per second! Why so slow?
Performance monitor on server shows that CPU is 40% all time (Disk and
Network is 30-40% too). On test machine - there is no full CPU activity too.

You could try to get some more detailed statistics...

How does the CPU usage break down by process? (If there are view updates going on, the map and reduce functions will be running in external spidermonkey processes, if I understand the architecture correctly.)

I'm not a Windows user, but does it have facilities that let you do runtime profiling of processes? (I'm thinking of the 'sample' tool on Mac OS X, which is an essential tool for diagnosing where a process is spending its time.)

Can you log the filesystem calls (again, the tool I would use on my platform is fs_usage.)

—Jens

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to