perf: Requests get slower, when queues have a lot of messages
Bug #1216950 reported by
Malini Kamalambal
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
zaqar |
Fix Released
|
Critical
|
Kurt Griffiths |
Bug Description
The requests are taking long to complete, when the queue has a lot of pre-existing messages.
Steps to Repro:
1. Run the tsung benchmark tests
2. Run a tsung test to pre-load the db with a lot of messages , on a specific queue
3. Re-run the tsung benchmark tests
Expected Results:
There will no significant perf degradation between Steps 1 & 3.
Actual Results:
The response times get slower in Step 3 (compared to Step 1)
Changed in marconi: | |
status: | New → Confirmed |
importance: | Undecided → Critical |
assignee: | nobody → Kurt Griffiths (kgriffs) |
summary: |
- Requests get slower, when queues have a lot of messages + perf: Requests get slower, when queues have a lot of messages |
Changed in marconi: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
When we have 500K messages, claim messages takes up to 12 seconds to return. On mongodb site it is 1-2 seconds run time.
These are some of the slow queries;
{ "$query" : { "q" : "q19" , "p" : "806067" , "c.e" : { "$lte" : { "$date" : "2013-08- 27T02:03: 51.366Z" }} , "e" : { "$gt" : { "$date" : "2013-08- 27T02:03: 51.366Z" }}} , "$hint" : { "q" : 1 , "p" : 1 , "k" : 1 , "e" : 1 , "c.e" : 1} , "$orderby" : { "k" : 1}} 27T02:03: 51.085Z" }} , "e" : { "$gt" : { "$date" : "2013-08- 27T02:03: 51.085Z" }}} , "$hint" : { "q" : 1 , "p" : 1 , "k" : 1 , "e" : 1 , "c.e" : 1} , "$orderby" : { "k" : 1}} 27T02:03: 50.910Z" }} , "e" : { "$gt" : { "$date" : "2013-08- 27T02:03: 50.910Z" }}} , "$hint" : { "q" : 1 , "p" : 1 , "k" : 1 , "e" : 1 , "c.e" : 1} , "$orderby" : { "k" : 1}} 27T01:58: 14.643Z" }} , "e" : { "$gt" : { "$date" : "2013-08- 27T01:58: 14.643Z" }}} , "$hint" : { "q" : 1 , "p" : 1 , "k" : 1 , "e" : 1 , "c.e" : 1} , "$orderby" : { "k" : 1}} 27T02:03: 50.925Z" }} , "e" : { "$gt" : { "$date" : "2013-08- 27T02:03: 50.925Z" }}} , "$hint" : { "q" : 1 , "p" : 1 , "k" : 1 , "e" : 1 , "c.e" : 1} , "$orderby" : { "k" : 1}}
{ "$query" : { "q" : "q1" , "p" : "806067" , "c.e" : { "$lte" : { "$date" : "2013-08-
{ "$query" : { "q" : "q13" , "p" : "806067" , "c.e" : { "$lte" : { "$date" : "2013-08-
{ "$query" : { "q" : "q14" , "p" : "806067" , "c.e" : { "$lte" : { "$date" : "2013-08-
{ "$query" : { "q" : "q5" , "p" : "806067" , "c.e" : { "$lte" : { "$date" : "2013-08-
Details on one of these (took 940ms to run);
"$query" : {
"q" : "q9",
"p" : "806067",
"c.e" : {
"$lte" : ISODate( "2013-08- 27T02:03: 51.072Z" )
},
"e" : {
"$gt" : ISODate( "2013-08- 27T02:03: 51.072Z" )
}
"$hint" : {
"q" : 1,
"p" : 1,
"k" : 1,
"e" : 1,
"c.e" : 1
"$orderby" : {
"k" : 1 "21776733340125 93318") ,
"keyUpdates" : 0,
"timeLockedMi cros" : {
"r" : NumberLong(906938),
"w" : NumberLong(0)
"timeAcquirin gMicros" : {
"r" : NumberLong(920436),
"w" : NumberLong(20696)
"responseLengt h" : 1510, "2013-08- 27T02:03: 52.140Z" ),
{
"op" : "query",
"ns" : "marconi.messages",
"query" : {
},
},
}
},
"cursorid" : NumberLong(
"ntoreturn" : 10,
"ntoskip" : 0,
"nscanned" : 21255,
"numYield" : 20,
"lockStats" : {
},
}
},
"nreturned" : 10,
"millis" : 940,
"ts" : ISODate(
"client" : "10.177.38.136",
"allUsers" : [ ],
"user" : ""
}