I haven't checked but it's conceivable that couchdb4j (since it uses httpclient) is issuing an "Expect: continue" header, and couchdb, until very recently, treated that (incorrectly) case-sensitively, causing an unnecessary wait for a timeout.
A trace of http request/response headers for a single delete would confirm or deny that hypothesis. B. On Mon, Oct 5, 2009 at 4:04 PM, Marijn Stollenga <m.stolle...@gmail.com> wrote: > By the way, I use couchdb4j for interfacing with couchdb. I will try to find > out if that is the problem. > > On 5 okt 2009, at 16:36, Paul Davis wrote: > >> Views won't affect deletion speeds at all. What version of CouchDB on >> what operating system are you using? Also, if possible you'll want to >> group as many deletes as possible into a single _bulk_docs call. >> >> Regardless of _bulk_docs, 4rps seems slow if you're on one of the >> releases. If you're on an older version of trunk, try updating to the >> current version to see if that helps out. >> >> Paul Davis >> >> On Mon, Oct 5, 2009 at 9:58 AM, Marijn Stollenga <m.stolle...@gmail.com> >> wrote: >>> >>> Hello, >>> I am new to this mailinglist. I am using CouchDB as backend to an online >>> game. I notice that deleting documents is really slow (about 4 deletes >>> per >>> second). Is there any way to improve this speed? >>> I use several views, do these views prohibit fast deletion? I added a >>> view >>> is use in the database. >>> >>> Thanks in advance, >>> Marijn >>> >>> { >>> "all": { >>> "map": "function(doc) {if (doc.type == 'area'){emit(doc.name, >>> doc._id);}}" >>> }, >>> "to_character": { >>> "map": "function(doc) {if (doc.type == >>> 'character'){emit(doc.location, >>> doc.name);}}" >>> }, >>> "to_paths": { >>> "map": "function(doc) {if (doc.type == 'path'){emit(doc.from, >>> doc.to);}}" >>> }, >>> "path_to_area": { >>> "map": "function(doc) {if (doc.type == 'path'){emit(doc.from + >>> doc.name, doc.to);}}" >>> } >>> } > >