Okapi Clustered Behaviours - test report
- PERF-151Getting 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 name | Virtual users | time | okapi version | nodes number |
---|---|---|---|---|---|
1 | CheckIn-CheckOut | 8 | 1800 | 4.3.3 | 3 |
2 | CheckIn-CheckOut | 8 | 1800 | 4.3.3 | 1 |
3 | Get_loans | 8 | 1800 | 4.3.3 | 3 |
4 | Get_loans | 8 | 1800 | 4.3.3 | 1 |
5 | POST_circulation/check-in-by-barcode | 8 | 1800 | 4.3.3 | 3 |
6 | POST_circulation/check-in-by-barcode | 8 | 1800 | 4.3.3 | 1 |
7 | CheckIn-CheckOut | 8 | 1800 | 4.6.1 | 3 |
8 | CheckIn-CheckOut | 8 | 1800 | 4.6.1 | 1 |
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.
Requests | 50th pct | 75th pct | 95th pct | 99th pct |
Check-In Controller | 0,278 | 0,34 | 0,828 | 0,491 |
Check-Out Controller | 0,372 | 0,494 | 1,697 | 3,139 |
GET_accounts (Submit_patron_barcode) | 0,006 | 0,009 | 0,019 | 0,125 |
GET_automated-patron-blocks (Submit_patron_barcode) | -0,003 | 0,014 | 0,025 | 0,193 |
GET_circulation/loans (Submit_barcode_checkout) | 0,086 | 0,106 | 0,272 | 1,447 |
GET_circulation/loans (Submit_patron_barcode) | 0,007 | 0,013 | 0,07 | 0,064 |
GET_circulation/requests (Submit_barcode_checkin) | 0,012 | 0,013 | 0,055 | 0,077 |
GET_circulation/requests (Submit_barcode_checkout) | 0,006 | 0,01 | 0,03 | 0,091 |
GET_circulation/requests (Submit_patron_barcode) | 0,013 | 0,014 | 0,038 | 0,146 |
GET_circulation/requests_status_openAwaitingPickup (Submit_patron_barcode) | 0,012 | 0,015 | 0,037 | 0,208 |
GET_configurations/entries (Get_check_in_page) | 0,006 | 0,006 | 0,025 | 0,08 |
GET_configurations/entries_module_CHECKOUT (Get_checkout_page) | 0,005 | 0,006 | 0,018 | 0,088 |
GET_configurations/entries_module_USERS (Get_checkout_page) | 0,005 | 0,006 | 0,018 | 0,033 |
GET_groups (Get_check_in_page) | 0,006 | 0,009 | 0,02 | 0,09 |
GET_groups (Get_checkout_page) | 0,006 | 0,006 | 0,023 | 0,145 |
GET_groups (Submit_patron_barcode) | 0,006 | 0,005 | 0,025 | 0,052 |
GET_inventory/items (Submit_barcode_checkin) | 0,041 | 0,051 | 0,081 | 0,182 |
GET_inventory/items (Submit_barcode_checkout) | 0,045 | 0,065 | 0,17 | 0,455 |
GET_loan-policy-storage/loan-policies (Submit_barcode_checkout) | 0,009 | 0,012 | 0,037 | 0,128 |
GET_manualblocks (Submit_patron_barcode) | 0,007 | 0,009 | 0,02 | 0,086 |
GET_proxiesfor_proxyUserId (Submit_patron_barcode) | 0,006 | 0,007 | 0,017 | 0,079 |
GET_proxiesfor_proxyUserId2 (Submit_patron_barcode) | 0,006 | 0,006 | 0,015 | 0,07 |
GET_proxiesfor_userId (Submit_patron_barcode) | 0,006 | 0,007 | 0,014 | 0,06 |
GET_service-points (Get_check_in_page) | 0,007 | 0,009 | 0,009 | -0,048 |
GET_staff-slips-storage/staff-slips (Get_check_in_page) | 0,007 | 0,006 | 0,016 | 0,081 |
GET_users (Get_check_in_page) | 0,006 | 0,006 | 0,021 | 0,076 |
GET_users (Submit_patron_barcode) | 0,007 | 0,009 | 0,027 | -0,025 |
OPTIONS_accounts (Submit_patron_barcode) | 0,001 | 0 | 0 | -0,002 |
OPTIONS_automated-patron-blocks (Submit_patron_barcode) | 0,001 | 0 | 0 | 0,001 |
OPTIONS_check-out-by-barcode (Submit_barcode_checkout) | 0 | 0,001 | 0,001 | -0,002 |
OPTIONS_circulation/check-in-by-barcode (Submit_barcode_checkin) | 0 | 0 | 0,001 | 0,006 |
OPTIONS_circulation/loans (Submit_barcode_checkout) | 0 | 0,001 | 0 | -0,001 |
OPTIONS_circulation/loans (Submit_patron_barcode) | 0 | 0,001 | 0 | 0,001 |
OPTIONS_circulation/requests (Submit_barcode_checkin) | 0,001 | 0,002 | 0,002 | 0,006 |
OPTIONS_circulation/requests (Submit_barcode_checkout) | 0 | 0,001 | 0 | 0,002 |
OPTIONS_circulation/requests_status_Open (Submit_patron_barcode) | 0,001 | 0 | 0,001 | 0,002 |
OPTIONS_circulation/requests_status_OpenAwaitingPickup(Submit_patron_barcode) | 0 | 0,001 | 0 | -0,001 |
OPTIONS_configurations/entries (Get_check_in_page) | 0 | 0,001 | 0,001 | 0,002 |
OPTIONS_configurations/entries_module_CHECKOUT (Get_checkout_page) | 0 | 0,001 | 0,001 | 0,003 |
OPTIONS_configurations/entries_module_USERS (Get_checkout_page) | 0 | 0,001 | 0 | 0,001 |
OPTIONS_groups (Get_check_in_page) | 0,001 | 0 | 0,001 | 0,003 |
OPTIONS_groups (Get_checkout_page) | 0,001 | 0 | 0,001 | 0 |
OPTIONS_groups (Submit_patron_barcode) | 0 | 0,001 | 0,001 | -0,002 |
OPTIONS_inventory/items (Submit_barcode_checkin) | 0 | 0,001 | 0,001 | 0 |
OPTIONS_inventory/items (Submit_barcode_checkout) | 0 | 0 | -0,001 | 0,004 |
OPTIONS_loan-policy-storage/loan-policies (Submit_barcode_checkout) | 0 | 0,001 | 0,001 | 0,001 |
OPTIONS_manualblocks (Submit_patron_barcode) | 0 | 0,001 | 0 | -0,001 |
OPTIONS_proxiesfor_proxyUserId (Submit_patron_barcode) | 0,001 | 0 | 0,001 | 0,001 |
OPTIONS_proxiesfor_userID (Submit_patron_barcode) | 0,001 | 0 | 0,001 | 0,001 |
OPTIONS_service-points (Get_check_in_page) | 0,001 | 0 | 0,001 | 0,003 |
OPTIONS_staff-slips-storage/staff-slips (Get_check_in_page) | 0,001 | 0 | 0,001 | 0,001 |
OPTIONS_users (Get_check_in_page) | 0 | 0,001 | 0,001 | 0,002 |
OPTIONS_users (Submit_patron_barcode) | 0 | 0,001 | 0,001 | -0,001 |
POST_bl-users/login | 0,08 | 0,084 | 0,049 | 0,049 |
POST_circulation/check-in-by-barcode (Submit_barcode_checkin) | 0,19 | 0,232 | 0,46 | 1,112 |
POST_circulation/check-out-by-barcode (Submit_barcode_checkout) | 0,119 | 0,178 | 0,532 | 1,674 |
Util_Branch selector randomizer | 0 | 0,001 | 0 | -0,001 |
Util_SWITCH User type | 0 | 0 | 0 | 0,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
Requests | Min | 50th pct | 75th pct | 95th 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
Requests | 50th pct | 75th pct | 95th pct | 99th 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
Requests | 50th pct | 75th pct | 95th pct | 99th pct |
Check-In Controller | 0,148 | 0,133 | 0,07 | -0,518 |
Check-Out Controller | 0,114 | 0,06 | -0,242 | -0,34 |
GET_accounts (Submit_patron_barcode) | 0,005 | 0,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,051 | 0,034 | 0,008 | 0,045 |
GET_circulation/loans (Submit_patron_barcode) | 0,006 | 0,006 | 0,02 | 0,016 |
GET_circulation/requests (Submit_barcode_checkin) | 0,005 | -0,001 | -0,025 | -0,041 |
GET_circulation/requests (Submit_barcode_checkout) | 0,005 | 0,001 | -0,003 | 0,005 |
GET_circulation/requests (Submit_patron_barcode) | 0,007 | 0,005 | -0,004 | -0,003 |
GET_circulation/requests_status_openAwaitingPickup (Submit_patron_barcode) | 0,007 | 0 | -0,01 | -0,115 |
GET_configurations/entries (Get_check_in_page) | 0,005 | 0,004 | 0,001 | -0,047 |
GET_configurations/entries_module_CHECKOUT (Get_checkout_page) | 0,005 | 0,003 | 0,004 | 0,007 |
GET_configurations/entries_module_USERS (Get_checkout_page) | 0,004 | 0,003 | 0,002 | 0,009 |
GET_groups (Get_check_in_page) | 0,004 | 0,001 | -0,009 | -0,006 |
GET_groups (Get_checkout_page) | 0,002 | -0,001 | -0,01 | 0,002 |
GET_groups (Submit_patron_barcode) | 0,003 | 0,001 | -0,006 | -0,044 |
GET_inventory/items (Submit_barcode_checkin) | 0,024 | 0,023 | 0,025 | -0,116 |
GET_inventory/items (Submit_barcode_checkout) | 0,004 | 0 | 0,003 | -0,02 |
GET_loan-policy-storage/loan-policies (Submit_barcode_checkout) | 0,003 | 0,001 | 0,003 | 0,009 |
GET_manualblocks (Submit_patron_barcode) | 0,004 | 0,002 | -0,007 | -0,026 |
GET_proxiesfor_proxyUserId (Submit_patron_barcode) | 0,004 | 0,003 | 0,002 | 0,009 |
GET_proxiesfor_proxyUserId2 (Submit_patron_barcode) | 0,003 | 0,003 | 0 | 0,006 |
GET_proxiesfor_userId (Submit_patron_barcode) | 0,004 | 0,001 | 0,006 | 0,02 |
GET_service-points (Get_check_in_page) | 0,004 | 0,002 | 0,001 | 0,005 |
GET_staff-slips-storage/staff-slips (Get_check_in_page) | 0,002 | 0 | -0,001 | -0,064 |
GET_users (Get_check_in_page) | 0,006 | 0,007 | 0,01 | 0,016 |
GET_users (Submit_patron_barcode) | 0 | -0,001 | 0,001 | -0,071 |
OPTIONS_accounts (Submit_patron_barcode) | 0 | 0 | -0,001 | 0,001 |
OPTIONS_automated-patron-blocks (Submit_patron_barcode) | 0 | 0 | -0,001 | 0,002 |
OPTIONS_check-out-by-barcode (Submit_barcode_checkout) | 0 | 0 | -0,002 | -0,006 |
OPTIONS_circulation/check-in-by-barcode (Submit_barcode_checkin) | 0 | 0 | -0,001 | -0,005 |
OPTIONS_circulation/loans (Submit_barcode_checkout) | 0 | 0 | -0,001 | -0,001 |
OPTIONS_circulation/loans (Submit_patron_barcode) | 0 | 0 | -0,001 | 0,002 |
OPTIONS_circulation/requests (Submit_barcode_checkin) | 0 | 0 | -0,002 | -0,003 |
OPTIONS_circulation/requests (Submit_barcode_checkout) | 0 | 0 | 0 | 0,011 |
OPTIONS_circulation/requests_status_Open (Submit_patron_barcode) | 0 | 0 | -0,001 | 0,002 |
OPTIONS_circulation/requests_status_OpenAwaitingPickup(Submit_patron_barcode) | 0 | 0 | -0,001 | -0,001 |
OPTIONS_configurations/entries (Get_check_in_page) | 0 | 0 | 0 | -0,003 |
OPTIONS_configurations/entries_module_CHECKOUT (Get_checkout_page) | 0 | 0 | -0,001 | 0,002 |
OPTIONS_configurations/entries_module_USERS (Get_checkout_page) | 0 | 0 | -0,001 | -0,001 |
OPTIONS_groups (Get_check_in_page) | 0 | 0 | 0 | 0 |
OPTIONS_groups (Get_checkout_page) | 0 | 0 | 0 | -0,002 |
OPTIONS_groups (Submit_patron_barcode) | 0 | 0 | 0 | -0,002 |
OPTIONS_inventory/items (Submit_barcode_checkin) | 0 | 0 | -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) | 0 | 0 | 0 | 0 |
OPTIONS_manualblocks (Submit_patron_barcode) | 0 | 0 | 0 | -0,002 |
OPTIONS_proxiesfor_proxyUserId (Submit_patron_barcode) | 0 | 0 | -0,001 | 0,002 |
OPTIONS_proxiesfor_userID (Submit_patron_barcode) | 0 | 0 | 0 | 0,014 |
OPTIONS_service-points (Get_check_in_page) | 0 | 0 | 0 | 0,011 |
OPTIONS_staff-slips-storage/staff-slips (Get_check_in_page) | 0 | 0 | -0,001 | 0,001 |
OPTIONS_users (Get_check_in_page) | 0 | 0 | 0 | 0,005 |
OPTIONS_users (Submit_patron_barcode) | 0 | 0 | -0,001 | -0,002 |
POST_bl-users/login | 0,041 | -0,017 | -1,292 | -1,292 |
POST_circulation/check-in-by-barcode (Submit_barcode_checkin) | 0,103 | 0,1 | 0,099 | -0,042 |
POST_circulation/check-out-by-barcode (Submit_barcode_checkout) | 0,013 | -0,019 | -0,057 | -0,127 |
Util_Branch selector randomizer | 0 | -0,001 | 0 | -0,001 |
Util_SWITCH User type | 0 | 0 | 0 | -0,001 |