Jag tog dina Couchbase-test, kommenterade de bitar som inte är Couchbase. Fixade frågan att välja från samlingen ( myCollection ) istället för jobbcache och tog bort alternativet Metrics. Och skapade ett index på JobId.create index mybucket_JobId på default:myBucket.myScope.myCollection (JobId)Den infogar de 100 000 dokumenten på 19 sekunder och kv-hämtar dokumenten i genomsnitt 146 usec och fråga efter JobId usec i genomsnitt 965.965 P>
Couchbase Q: 0 187
Couchbase Q: 1 176
Couchbase Q: 2 143
Couchbase Q: 3 147
Couchbase Q: 4 140
Couchbase Q: 5 138
Couchbase Q: 6 136
Couchbase Q: 7 139
Couchbase Q: 8 125
Couchbase Q: 9 129
average et: 146 ms per 1000 -> 146 usec / request
Couchbase Q: 0 1155
Couchbase Q: 1 1086
Couchbase Q: 2 1004
Couchbase Q: 3 901
Couchbase Q: 4 920
Couchbase Q: 5 929
Couchbase Q: 6 912
Couchbase Q: 7 911
Couchbase Q: 8 911
Couchbase Q: 9 927
average et: 965 ms per 1000 -> 965 usec / request. (coincidentally exactly the same as with the java api).
Detta var på 7.0 build 3739 på en Mac Book Pro med cb-servern som kördes lokalt.
################################################ ####################
Jag har en liten LoadDriver-applikation för java sdk som använder kv api. Med 4 trådar visar den en genomsnittlig svarstid på 54 mikrosekunder och en genomströmning på 73238 förfrågningar/sekund. Den använder travel-sample-bucket på en cb-server på localhost. [email protected]:mikereiche/loaddriver.git
Kör:sekunder:10, trådar:4, timeout:40000us, tröskel:8000us förfrågningar/sekund:0 (max), forcerat GC-intervall:0mscount:729873, förfrågningar/sekund:72987, max:2796us avg./aggregate:54rus s:73238
För frågan API får jag följande som är 18 gånger långsammare.
Kör:sekunder:10, trådar:4, timeout:40000us, tröskel:8000us förfrågningar/sekund:0 (max), forcerat GC-intervall:0msantal:41378, förfrågningar/sekund:4137, max:12032us avg:965rus s:4144