CouchDB - Gefilterte Replikation - Kann die Geschwindigkeit verbessert werden?

Ich habe eine einzige Datenbank (300 MB & 42.924 Dokumente), die aus ungefähr 20 verschiedenen Arten von Dokumenten von ungefähr 200 Benutzern besteht. Die Größe der Dokumente reicht von wenigen Bytes bis zu vielen Kilobytes (ca. 150 KB).

Wenn der Server entladen ist, dauert der Abschluss der folgenden Replikationsfilterfunktion ca. 2,5 Minuten. Wenn der Server geladen ist, dauert es> 10 Minuten.

Kann jemand sagen, ob diese Zeiten zu erwarten sind, und wenn nicht, wie ich die Dinge optimieren könnte, um eine bessere Leistung zu erzielen?

function(doc, req) {
    acceptedDate = true;
    if(doc.date) {
        var docDate = new Date();
        var dateKey = doc.date;
        docDate.setFullYear(dateKey[0], dateKey[1], dateKey[2]);

        var reqYear = req.query.year;
        var reqMonth = req.query.month;
        var reqDay = req.query.day;
        var reqDate = new Date();
        reqDate.setFullYear(reqYear, reqMonth, reqDay);

        acceptedDate = docDate.getTime() >= reqDate.getTime();
    }

    return doc.user_id && doc.user_id == req.query.userid && doc._id.indexOf("_design") != 0 && acceptedDate; 
}

Antworten auf die Frage(1)

Ihre Antwort auf die Frage