Details
-
Bug
-
Resolution: Fixed
-
Critical
-
3.0
-
Security Level: Public
-
None
-
Untriaged
-
2
-
Yes
-
June 30 - July 18
Description
Steps to reproduce.
1. Get a working go installation (http://golang.org/doc/install)
2. Get a tool to reproduce the issue:
$ go get github.com/aartamonau/bgfetches
3. Start a cluster with bucket "default". I used a single node cluster started using cluster_run script.
4. Create some items using the tool:
$ bgfetches -sets -numItems=100000 -value=512 -numConnections=1 -sinkURL=http://localhost:9000/
2014/03/21 17:05:16 Starting sending sets
2014/03/21 17:05:16 Warning: Finalizing a bucket with active connections.
2014/03/21 17:05:18 Processed all sets (44427.894679 per second)
5. Wait until all the items are persisted.
6. Evict the items:
$ bgfetches -evicts -numItems=100000 -numConnections=1 -sinkURL=http://localhost:9000/
2014/03/21 17:06:04 Starting sending evicts
2014/03/21 17:06:04 Warning: Finalizing a bucket with active connections.
2014/03/21 17:06:05 Processed all evicts (119015.589544 per second)
7. Ensure that resident ration is 0%.
8. Now try to get the items over a single connection and observe how slow it is:
$ bgfetches -gets -numItems=100000 -numConnections=1 -sinkURL=http://localhost:9000/
2014/03/21 17:08:15 Starting sending gets
2014/03/21 17:08:15 Warning: Finalizing a bucket with active connections.
2014/03/21 17:08:20 Processed 841 items in 5.014137 seconds
2014/03/21 17:08:25 Processed 1818 items in 10.022151 seconds
2014/03/21 17:08:30 Processed 2662 items in 15.029192 seconds
2014/03/21 17:08:35 Processed 3723 items in 20.072094 seconds
................
2014/03/21 17:16:25 Processed 97718 items in 490.498886 seconds
2014/03/21 17:16:30 Processed 98718 items in 495.501054 seconds
2014/03/21 17:16:35 Processed 99721 items in 500.501190 seconds
2014/03/21 17:16:36 Processed all sets (199.738497 per second)
9. Now compare it to multiple connections case:
$ bgfetches -evicts -numItems=100000 -numConnections=1 -sinkURL=http://localhost:9000/
2014/03/21 17:18:04 Starting sending evicts
2014/03/21 17:18:04 Warning: Finalizing a bucket with active connections.
2014/03/21 17:18:05 Processed all evicts (116519.587060 per second)
$ bgfetches -gets -numItems=100000 -numConnections=32 -sinkURL=http://localhost:9000/
2014/03/21 17:18:30 Starting sending gets
2014/03/21 17:18:30 Warning: Finalizing a bucket with active connections.
2014/03/21 17:18:34 Processed all sets (22849.428253 per second)
10. And also compare it to the same scenario on 2.5:
$ bgfetches -gets -numItems=100000 -numConnections=1 -sinkURL=http://localhost:9000/
2014/03/21 17:25:45 Starting sending gets
2014/03/21 17:25:45 Warning: Finalizing a bucket with active connections.
2014/03/21 17:25:50 Processed 28150 items in 5.000138 seconds
2014/03/21 17:25:55 Processed 63200 items in 10.000287 seconds
2014/03/21 17:26:00 Processed 98341 items in 15.000390 seconds
2014/03/21 17:26:01 Processed all sets (6558.884736 per second)