Discussion API Performance (latest Feb 2016)

With the new requirements in Discussion APIs; we have introduced an attribute "child_count" in all Response/Comment endpoints. The platform APIs call forum APIs; hence a corresponding change is made in Forum application too. We have opted to cache comment's child_count as part of DB object. In order to keep child_count field value in sync with the actual number of comment children, we have re-evaluated its value on comment get, create and delete end points; however, comment list endpoint returns cached value to keep good performance stats (except for any existing data for which we re-evaluate child_count and cache it then).

We have gathered and compared two sets of load test results. The former results (i.e. With Child Comment Count) are run on the latest changes and the later are run when we had no "child_count" in question.

New Relic Dashboard: https://rpm.newrelic.com/accounts/88178/custom_dashboards/pages/9377

 

With Child Comment Count

Without Child Comment Count

No. of clients = 48
req/s = 3.80
Methodsmedian response time95%99%

DELETE_comment

270

4102500

DELETE_thread

190

240260

GET_comment_list

160270340

GET_thread

230370470

GET_thread_list

440740840

PATCH_comment

3104502500

PATCH_thread

210350420

POST_comment_comment

4205802800

POST_comment_response

3605302800

POST_thread

260390440

auto_auth

210230230
No. of clients = 48
req/s = 3.70
Methodsmedian response time95%99%

DELETE_comment

27016001700

DELETE_thread

190280330

GET_comment_list

160260300

GET_thread

230300420

GET_thread_list

400690770

PATCH_comment

3508601900

PATCH_thread

210310440

POST_comment_comment

4005401800

POST_comment_response

3705801900

POST_thread

260390430

auto_auth

200200200


No. of clients = 68
req/s = 5.30
Methodsmedian response time95%99%
DELETE_comment

270

30003200
DELETE_thread180240260
GET_comment_list160270320
GET_thread230300370
GET_thread_list450760820
PATCH_comment3004703200
PATCH_thread200330420
POST_comment_comment4105303400
POST_comment_response3605303400
POST_thread260400460
auto_auth210210210


No. of clients = 68
req/s = 5.60
Methodsmedian response time95%99%
DELETE_comment27017001800
DELETE_thread190240260
GET_comment_list160260350
GET_thread230300390
GET_thread_list400710780
PATCH_comment3105101800
PATCH_thread210300440
POST_comment_comment41018001900
POST_comment_response3705301900
POST_thread260390440
auto_auth280310310


No. of clients = 96
req/s = 7.70
Methodsmedian response time95%99%

DELETE_comment

2809702800

DELETE_thread

190240370

GET_comment_list

160270350

GET_thread

230310390

GET_thread_list

450760830

PATCH_comment

33015002900

PATCH_thread

210330450

POST_comment_comment

4205703000

POST_comment_response

3706002900

POST_thread

260360450

auto_auth

210210210


No. of clients = 96
req/s = 7.30
Methodsmedian response time95%99%

DELETE_comment

2703601800

DELETE_thread

190240300

GET_comment_list

160260360

GET_thread

240300400

GET_thread_list

410720790

PATCH_comment

3104401800

PATCH_thread

210300420

POST_comment_comment

4104801900

POST_comment_response

3705101900

POST_thread

260330420

auto_auth

210220220


No. of clients = 144
req/s = 10.90
Methodsmedian response time95%99%

DELETE_comment

28031003300

DELETE_thread

190250570

GET_comment_list

160290370

GET_thread

240340450

GET_thread_list

490820940

PATCH_comment

3205503300

PATCH_thread

210310420

POST_comment_comment

4207803700

POST_comment_response

3705803500

POST_thread

260380460

auto_auth

130014001400


No. of clients = 144
req/s = 11.20
Methodsmedian response time95%99%

DELETE_comment

28016002100

DELETE_thread

190260340

GET_comment_list

160270360

GET_thread

240330460

GET_thread_list

420740810

PATCH_comment

33018002100

PATCH_thread

210330450

POST_comment_comment

4207102200

POST_comment_response

38012002100

POST_thread

260410450

auto_auth

210220220


No. of clients = 192
req/s = 14.40
Methodsmedian response time95%99%

DELETE_comment

2904103600

DELETE_thread

200260340

GET_comment_list

170290390

GET_thread

250370490

GET_thread_list

5008401000

PATCH_comment

3305103100

PATCH_thread

220350440

POST_comment_comment

43029003700

POST_comment_response

3806203500

POST_thread

270370440

auto_auth

260260260


No. of clients = 192
req/s = 16.60
Methodsmedian response time95%99%

DELETE_comment

2805902200

DELETE_thread

190260320

GET_comment_list

170280370

GET_thread

250360500

GET_thread_list

440760850

PATCH_comment

3205302300

PATCH_thread

210310450

POST_comment_comment

4306802500

POST_comment_response

3805602300

POST_thread

270400450

auto_auth

190230230


No. of clients = 240
req/s = 17.90
Methodsmedian response time95%99%

DELETE_comment

2905604300

DELETE_thread

190300530

GET_comment_list

170350510

GET_thread

260450710

GET_thread_list

63012001800

PATCH_comment

3407003700

PATCH_thread

220350470

POST_comment_comment

45016004400

POST_comment_response

3906804500

POST_thread

270400490

auto_auth

230230230


No. of clients = 240
req/s = 19.50
Methodsmedian response time95%99%

DELETE_comment

30021002800

DELETE_thread

200280340

GET_comment_list

170300410

GET_thread

260420590

GET_thread_list

480810970

PATCH_comment

3407102600

PATCH_thread

220340500

POST_comment_comment

45022002700

POST_comment_response

3908202700

POST_thread

270410490

auto_auth

200220220


No. of clients = 288
req/s = 22.80
Methodsmedian response time95%99%

DELETE_comment

3108103700

DELETE_thread

200290450

GET_comment_list

180340450

GET_thread

280470640

GET_thread_list

66012001500

PATCH_comment

3506303800

PATCH_thread

220340450

POST_comment_comment

4608503900

POST_comment_response

4006503900

POST_thread

270410490

auto_auth

220250250


No. of clients = 288
req/s = 22.40
Methodsmedian response time95%99%

DELETE_comment

30021002800

DELETE_thread

200280520

GET_comment_list

180320450

GET_thread

270450640

GET_thread_list

5309101200

PATCH_comment

3505402500

PATCH_thread

230350460

POST_comment_comment

46022002800

POST_comment_response

4106702800

POST_thread

280420480

auto_auth

200220220


No. of clients = 336
req/s = 27.70
Methodsmedian response time95%99%

DELETE_comment

32028004800

DELETE_thread

210300490

GET_comment_list

190410600

GET_thread

300590880

GET_thread_list

86021003700

PATCH_comment

3609004600

PATCH_thread

240390490

POST_comment_comment

4908504500

OST_comment_response

4209304700

POST_thread

280430590

auto_auth

250280280


No. of clients = 336
req/s = 26.30
Methodsmedian response time95%99%

DELETE_comment

31023003400

DELETE_thread

210290420

GET_comment_list

190360510

GET_thread

290550810

GET_thread_list

60011001400

PATCH_comment

36011003200

PATCH_thread

240400560

POST_comment_comment

47015004000

OST_comment_response

4207503800

POST_thread

280420510

auto_auth

210240240


No. of clients = 384
req/s = 16.30 (reached server capacity)
Methodsmedian response time95%99%

DELETE_comment

60001300015000

DELETE_thread

46001000014000

GET_comment_list

3200870011000

GET_thread

3400880012000

GET_thread_list

71001200014000

PATCH_comment

43001100015000

PATCH_thread

37001000013000

POST_comment_comment

56001300019000

POST_comment_response

54001200015000

POST_thread

3400880012000

auto_auth

260035003500


No. of clients = 384
req/s = 31.70
Methodsmedian response time95%99%
DELETE_comment34011004500
DELETE_thread210350680
GET_comment_list200430670
GET_thread3307401100
GET_thread_list77018002700
PATCH_comment3808604200
PATCH_thread250400570
POST_comment_comment50013004600
POST_comment_response4409104100
POST_thread290450640
auto_auth210230230


No. of clients = 480
req/s = 5.00 (reached server capacity)
Methodsmedian response time95%99%

DELETE_comment

120002600040000

DELETE_thread

100002600042000

GET_comment_list

84002200030000

GET_thread

94002300033000

GET_thread_list

120002300030000

PATCH_comment

110002500032000

PATCH_thread

100002300030000

POST_comment_comment

120002400030000

POST_comment_response

110002500032000

POST_thread

90002100030000

auto_auth

440081008200


No. of clients = 480
req/s = 20.40 (reached server capacity)
Methodsmedian response time95%99%
DELETE_comment59001200015000
DELETE_thread54001000013000
GET_comment_list4600970012000
GET_thread5000990014000
GET_thread_list86001300015000
PATCH_comment58001200014000
PATCH_thread51001000013000
POST_comment_comment62001200015000
POST_comment_response57001100014000
POST_thread4700930012000
auto_auth330054005500


Detailed Results:

With Child Count:

Without Child Count: