2016-05-27 18 views
1

Ich laufen MongoDb und YCSB, Workload A (Lesen: Update = 50:50) auf zwei Knoten, die durch 10G Ethernet verbunden sind.MongoDb und YCSB: Workload A: Warum ist die Aktualisierungslatenz so gering?

Das Ergebnis der ycsb-Ausgabe sieht gut aus, aber nur eines: warum ist die Latenz für das Update so gering? Enthält die Aktualisierungswartezeit nur die lokale Operationslatenz von MongoDb?

Zum Beispiel beträgt die Aktualisierungslatenz im Unterlauf nur etwa 4 Mikrosekunden. Aber meine Netzwerklatenz beträgt 100+ Mikrosekunden. Das sieht mir komisch aus.

danke!

YCSB Client 0.1 
Command line: -db com.yahoo.ycsb.db.AsyncMongoDbClient -s -P LisWorkloadA -p mongodb.url=mongodb://192.168.4.168:27017/ycsb?w=0 -threads 1 -t 
mongo connection created with mongodb://192.168.4.168:27017/ycsb?w=0 
18:09:22.758 [Thread-1] DEBUG c.a.m.c.c.b.BootstrapConnectionFactory - Simple MongoDB bootstrap to 192.168.4.168/192.168.4.168:27017. 
18:24:23.109 [Thread-1] DEBUG c.a.mongodb.client.ClientImpl - MongoDB Connection closed: MongoDB(56194-->192.168.4.168/192.168.4.168:27017) 
[OVERALL], RunTime(ms), 900433.0 
[OVERALL], Throughput(ops/sec), 2878.1730567404793 
[READ], Operations, 1296287.0 

***[READ], AverageLatency(us), 687.2264621954861*** 

[READ], MinLatency(us), 105.0 
[READ], MaxLatency(us), 5455871.0 
[READ], 95thPercentileLatency(us), 1220.0 
[READ], 99thPercentileLatency(us), 1749.0 
[READ], Return=OK, 1296287 
[CLEANUP], Operations, 1.0 
[CLEANUP], AverageLatency(us), 1672.0 
[CLEANUP], MinLatency(us), 1672.0 
[CLEANUP], MaxLatency(us), 1672.0 
[CLEANUP], 95thPercentileLatency(us), 1672.0 
[CLEANUP], 99thPercentileLatency(us), 1672.0 
[UPDATE], Operations, 1295315.0 

***[UPDATE], AverageLatency(us), 4.323250329070535*** 

[UPDATE], MinLatency(us), 1.0 
[UPDATE], MaxLatency(us), 42015.0 
[UPDATE], 95thPercentileLatency(us), 6.0 
[UPDATE], 99thPercentileLatency(us), 10.0 
[UPDATE], Return=NOT_FOUND, 1295315 
+0

Vielleicht ist es ein Hinweis, dass alle Rückgaben Ihrer Update-Operationen 'NOT_FOUND', nicht 'Status.OK' sind. –

+0

Ja. aber wie man das "NOT_FOUND" von der ycsb Befehlszeile loswird? Sieht so aus, als müssten wir einige Einstellungen an den Parametern vornehmen, um den Schlüsselbereich anzugeben? –

+0

Ich habe keine Erfahrung mit '' 'AsyncMongoDbClient''', nur MongoDbClient. Ich denke, dass die Latenz nicht genau ist, und wenn Sie lesen, sind die Schreiboperationen möglicherweise noch nicht wirksam. –

Antwort

0

10G Ethernet kann Latenzen von nur 2 Mikrosekunden haben, so dass die von MongoDB gemeldeten Zahlen möglich sind. Sind Sie sicher, dass Ihre 100+ Mikrosekundenmessung korrekt ist? Es kann einige Overhead enthalten.

+0

Ich führe den Test in einer virtualisierten Umgebung durch (Linux auf HyperV). Die Netzwerklatenz zwischen zwei VMs beträgt 100+ ms. // Auch icmp ping zeigt die ähnliche Latenz von 100+ ms. –