Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Action items:

  •  Discuss with DEVOPS to increase RAM. 
  •  Figure out why count is causing slow queries
  •  Wait until mongo for forums is in house
    •  Get the list of most used queries

...

Notes:

  • It would be suggested to have a usable index for every query that we have. Slow queries can reduce the overall performance. 
  • Obtaining a list of queries would be ideal for index creation. The current indexes have not been designed with index intersection in mind. 
  • Common trend amongst slow queries is `count`
  • All errors rates observed are due to the decrease in timeouts. https://github.com/edx/cs_comments_service/pull/146
  • Index selectivity still needs some work.

...

Expand
titledb.contents.stats(1024*1024) loadtest

"_id_" : 290,
"parent_id_1" : 296,
"parent_ids_1" : 200,
"comment_thread_id_1" : 319,
"author_id_1" : 329,
"tags_array_1" : 293,
"last_activity_at_-1" : 245,
"author_id_1_course_id_1" : 496,
"votes.up_1__type_1" : 630,
"votes.down_1__type_1" : 596,
"commentable_id_1_created_at_-1" : 548,
"course_id_1__type_1_created_at_-1" : 933,
"_type_1_comment_thread_id_1_author_id_1_updated_at_1" : 607,
"comment_thread_id_1_sk_1" : 296,
"comment_thread_id_1_endorsed_1" : 142,
"_type_1_course_id_1_pinned_-1_created_at_-1" : 948,
"delete_spam_1" : 0,
"_type_1_course_id_1_pinned_-1_comment_count_-1_created_at_-1" : 1003,
"_type_1_course_id_1_pinned_-1_votes.point_-1_created_at_-1" : 1057,
"commentable_id_1" : 254,
"_type_1_course_id_1_context_1_pinned_-1_created_at_-1" : 1010,
"_type_1_commentable_id_1_context_1_pinned_-1_created_at_-1" : 784,
"_type_1_context_1" : 425,
"_type_-1_course_id_1_context_1_pinned_-1_last_activity_at_-1_created_at_-1" : 998,
"_type_1_course_id_1_context_1" : 860

Observations
Anchor

...

count_threads

...

count_threads

Caching in effect. Below are sequential attempts at accessing the default view of a forums heavy course course-v1:IDBx+IDB6x+2015_T2 where the comment count of the pinned posts are ~4000. Each of the 20 threads it is trying to load (limit=20), is taking too long for a query. After each refresh, more data gets cached and then the comment count for the next threads are fetched. After a few refreshes, this course will no longer show 500s and load.

...