Okapi Clustered Behaviours - test report



PERF-151 - Getting issue details... STATUS



Overview:

As was observed, one okapi node working faster than three okapi nodes for same test.  The purpose of this test set - is to define multi node okapi behavior and compare test results from tests with one okapi node and three okapi nodes. 


Version:

  • okapi 4.3.3;
  • okapi 4.6.1.


Tests


Test#Test nameVirtual userstimeokapi versionnodes number
1CheckIn-CheckOut818004.3.33
2CheckIn-CheckOut818004.3.31
3Get_loans818004.3.33
4Get_loans818004.3.31
5POST_circulation/check-in-by-barcode818004.3.33
6POST_circulation/check-in-by-barcode 818004.3.31
7CheckIn-CheckOut818004.6.13
8CheckIn-CheckOut818004.6.11



Test summary

During the whole test set result doesn't show any consistency with response times. With okapi 4.3.3 version we can observe that there is a bigger difference in response times between three nodes and one node tests than with same test set for okapi 4.6.1.

Api tests (#3-6) shows results as was expected - three nodes test is faster or a least not slower than one node test.


Test results


Test 1-2

Here is the difference of response times for CheckIn-CheckOut workflow calculated by formula 3 nodes test response time minus 1 nodes test response time. 

Requests50th pct75th pct95th pct99th pct
Check-In Controller0,2780,340,8280,491
Check-Out Controller0,3720,4941,6973,139
GET_accounts (Submit_patron_barcode)0,0060,0090,0190,125
GET_automated-patron-blocks (Submit_patron_barcode)-0,0030,0140,0250,193
GET_circulation/loans (Submit_barcode_checkout)0,0860,1060,2721,447
GET_circulation/loans (Submit_patron_barcode)0,0070,0130,070,064
GET_circulation/requests (Submit_barcode_checkin)0,0120,0130,0550,077
GET_circulation/requests (Submit_barcode_checkout)0,0060,010,030,091
GET_circulation/requests (Submit_patron_barcode)0,0130,0140,0380,146
GET_circulation/requests_status_openAwaitingPickup (Submit_patron_barcode)0,0120,0150,0370,208
GET_configurations/entries (Get_check_in_page)0,0060,0060,0250,08
GET_configurations/entries_module_CHECKOUT (Get_checkout_page)0,0050,0060,0180,088
GET_configurations/entries_module_USERS (Get_checkout_page)0,0050,0060,0180,033
GET_groups (Get_check_in_page)0,0060,0090,020,09
GET_groups (Get_checkout_page)0,0060,0060,0230,145
GET_groups (Submit_patron_barcode)0,0060,0050,0250,052
GET_inventory/items (Submit_barcode_checkin)0,0410,0510,0810,182
GET_inventory/items (Submit_barcode_checkout)0,0450,0650,170,455
GET_loan-policy-storage/loan-policies (Submit_barcode_checkout)0,0090,0120,0370,128
GET_manualblocks (Submit_patron_barcode)0,0070,0090,020,086
GET_proxiesfor_proxyUserId (Submit_patron_barcode)0,0060,0070,0170,079
GET_proxiesfor_proxyUserId2 (Submit_patron_barcode)0,0060,0060,0150,07
GET_proxiesfor_userId (Submit_patron_barcode)0,0060,0070,0140,06
GET_service-points (Get_check_in_page)0,0070,0090,009-0,048
GET_staff-slips-storage/staff-slips (Get_check_in_page)0,0070,0060,0160,081
GET_users (Get_check_in_page)0,0060,0060,0210,076
GET_users (Submit_patron_barcode)0,0070,0090,027-0,025
OPTIONS_accounts (Submit_patron_barcode)0,00100-0,002
OPTIONS_automated-patron-blocks (Submit_patron_barcode)0,001000,001
OPTIONS_check-out-by-barcode (Submit_barcode_checkout)00,0010,001-0,002
OPTIONS_circulation/check-in-by-barcode (Submit_barcode_checkin)000,0010,006
OPTIONS_circulation/loans (Submit_barcode_checkout)00,0010-0,001
OPTIONS_circulation/loans (Submit_patron_barcode)00,00100,001
OPTIONS_circulation/requests (Submit_barcode_checkin)0,0010,0020,0020,006
OPTIONS_circulation/requests (Submit_barcode_checkout)00,00100,002
OPTIONS_circulation/requests_status_Open (Submit_patron_barcode)0,00100,0010,002
OPTIONS_circulation/requests_status_OpenAwaitingPickup(Submit_patron_barcode)00,0010-0,001
OPTIONS_configurations/entries (Get_check_in_page)00,0010,0010,002
OPTIONS_configurations/entries_module_CHECKOUT (Get_checkout_page)00,0010,0010,003
OPTIONS_configurations/entries_module_USERS (Get_checkout_page)00,00100,001
OPTIONS_groups (Get_check_in_page)0,00100,0010,003
OPTIONS_groups (Get_checkout_page)0,00100,0010
OPTIONS_groups (Submit_patron_barcode)00,0010,001-0,002
OPTIONS_inventory/items (Submit_barcode_checkin)00,0010,0010
OPTIONS_inventory/items (Submit_barcode_checkout)00-0,0010,004
OPTIONS_loan-policy-storage/loan-policies (Submit_barcode_checkout)00,0010,0010,001
OPTIONS_manualblocks (Submit_patron_barcode)00,0010-0,001
OPTIONS_proxiesfor_proxyUserId (Submit_patron_barcode)0,00100,0010,001
OPTIONS_proxiesfor_userID (Submit_patron_barcode)0,00100,0010,001
OPTIONS_service-points (Get_check_in_page)0,00100,0010,003
OPTIONS_staff-slips-storage/staff-slips (Get_check_in_page)0,00100,0010,001
OPTIONS_users (Get_check_in_page)00,0010,0010,002
OPTIONS_users (Submit_patron_barcode)00,0010,001-0,001
POST_bl-users/login0,080,0840,0490,049
POST_circulation/check-in-by-barcode (Submit_barcode_checkin)0,190,2320,461,112
POST_circulation/check-out-by-barcode (Submit_barcode_checkout)0,1190,1780,5321,674
Util_Branch selector randomizer00,0010-0,001
Util_SWITCH User type0000,001


As you can see the response times difference on 75% is bigger than 0, which means that one node performs better.


Test 3-4


RequestsMin50th pct75th pct95th pct
GET_circulation/loans-0,532-0,638-0,672-0,562


As you can see, response times difference here means that 3 nodes for this particular api test works faster than 1 node. 


Test 5-6


Requests50th pct75th pct95th pct99th pct
POST_circulation/check-in-by-barcode (Submit_barcode_checkin)-0,157-0,145-0,25-1,364

As in previous api test - same situation is here. three nodes are faster than one okapi node.


Test 7-8


Requests50th pct75th pct95th pct99th pct
Check-In Controller0,1480,1330,07-0,518
Check-Out Controller0,1140,06-0,242-0,34
GET_accounts (Submit_patron_barcode)0,0050,003-0,003-0,01
GET_automated-patron-blocks (Submit_patron_barcode)-0,008-0,006-0,03-0,116
GET_circulation/loans (Submit_barcode_checkout)0,0510,0340,0080,045
GET_circulation/loans (Submit_patron_barcode)0,0060,0060,020,016
GET_circulation/requests (Submit_barcode_checkin)0,005-0,001-0,025-0,041
GET_circulation/requests (Submit_barcode_checkout)0,0050,001-0,0030,005
GET_circulation/requests (Submit_patron_barcode)0,0070,005-0,004-0,003
GET_circulation/requests_status_openAwaitingPickup (Submit_patron_barcode)0,0070-0,01-0,115
GET_configurations/entries (Get_check_in_page)0,0050,0040,001-0,047
GET_configurations/entries_module_CHECKOUT (Get_checkout_page)0,0050,0030,0040,007
GET_configurations/entries_module_USERS (Get_checkout_page)0,0040,0030,0020,009
GET_groups (Get_check_in_page)0,0040,001-0,009-0,006
GET_groups (Get_checkout_page)0,002-0,001-0,010,002
GET_groups (Submit_patron_barcode)0,0030,001-0,006-0,044
GET_inventory/items (Submit_barcode_checkin)0,0240,0230,025-0,116
GET_inventory/items (Submit_barcode_checkout)0,00400,003-0,02
GET_loan-policy-storage/loan-policies (Submit_barcode_checkout)0,0030,0010,0030,009
GET_manualblocks (Submit_patron_barcode)0,0040,002-0,007-0,026
GET_proxiesfor_proxyUserId (Submit_patron_barcode)0,0040,0030,0020,009
GET_proxiesfor_proxyUserId2 (Submit_patron_barcode)0,0030,00300,006
GET_proxiesfor_userId (Submit_patron_barcode)0,0040,0010,0060,02
GET_service-points (Get_check_in_page)0,0040,0020,0010,005
GET_staff-slips-storage/staff-slips (Get_check_in_page)0,0020-0,001-0,064
GET_users (Get_check_in_page)0,0060,0070,010,016
GET_users (Submit_patron_barcode)0-0,0010,001-0,071
OPTIONS_accounts (Submit_patron_barcode)00-0,0010,001
OPTIONS_automated-patron-blocks (Submit_patron_barcode)00-0,0010,002
OPTIONS_check-out-by-barcode (Submit_barcode_checkout)00-0,002-0,006
OPTIONS_circulation/check-in-by-barcode (Submit_barcode_checkin)00-0,001-0,005
OPTIONS_circulation/loans (Submit_barcode_checkout)00-0,001-0,001
OPTIONS_circulation/loans (Submit_patron_barcode)00-0,0010,002
OPTIONS_circulation/requests (Submit_barcode_checkin)00-0,002-0,003
OPTIONS_circulation/requests (Submit_barcode_checkout)0000,011
OPTIONS_circulation/requests_status_Open (Submit_patron_barcode)00-0,0010,002
OPTIONS_circulation/requests_status_OpenAwaitingPickup(Submit_patron_barcode)00-0,001-0,001
OPTIONS_configurations/entries (Get_check_in_page)000-0,003
OPTIONS_configurations/entries_module_CHECKOUT (Get_checkout_page)00-0,0010,002
OPTIONS_configurations/entries_module_USERS (Get_checkout_page)00-0,001-0,001
OPTIONS_groups (Get_check_in_page)0000
OPTIONS_groups (Get_checkout_page)000-0,002
OPTIONS_groups (Submit_patron_barcode)000-0,002
OPTIONS_inventory/items (Submit_barcode_checkin)00-0,001-0,001
OPTIONS_inventory/items (Submit_barcode_checkout)0-0,001-0,003-0,004
OPTIONS_loan-policy-storage/loan-policies (Submit_barcode_checkout)0000
OPTIONS_manualblocks (Submit_patron_barcode)000-0,002
OPTIONS_proxiesfor_proxyUserId (Submit_patron_barcode)00-0,0010,002
OPTIONS_proxiesfor_userID (Submit_patron_barcode)0000,014
OPTIONS_service-points (Get_check_in_page)0000,011
OPTIONS_staff-slips-storage/staff-slips (Get_check_in_page)00-0,0010,001
OPTIONS_users (Get_check_in_page)0000,005
OPTIONS_users (Submit_patron_barcode)00-0,001-0,002
POST_bl-users/login0,041-0,017-1,292-1,292
POST_circulation/check-in-by-barcode (Submit_barcode_checkin)0,1030,10,099-0,042
POST_circulation/check-out-by-barcode (Submit_barcode_checkout)0,013-0,019-0,057-0,127
Util_Branch selector randomizer0-0,0010-0,001
Util_SWITCH User type000-0,001