PERF-234 Investigate impact of all language analyzers enabled on search
Purpose
Establish a baseline for the most common searches that the users might conduct. The performance baseline includes search by: keyword, title, subject, contributor, queries with boolean operations and filters.
All search operations performed for 1, 10, 20, 50, 100 simultaneous users.
Approach
Index bugfest-kiwi dataset at https://falcon-perf-okapi.ci.folio.org and execute list of queries to estimate current performance of mod-search application with all available languages:
{
"languageConfigs": [
{ "code": "eng" },
{ "code": "heb" },
{ "code": "ara" },
{ "code": "chi" },
{ "code": "spa" },
{ "code": "ger" },
{ "code": "fre" },
{ "code": "ita" },
{ "code": "jpn" },
{ "code": "kor" },
{ "code": "rus" },
{ "code": "swe" }
],
"totalRecords": 12
}Performance test configuration
Property | Value |
|---|---|
Environment | |
mod-search | 2 nodes with CPU limit = 256m and memoryLimit = 536MB |
okapi | 3 nodes with CPU limit = 256m and memoryLimit = 536MB |
mod-authtoken | 2 nodes with CPU limit = 128m and memoryLimit = 360MB |
mod-login | 2 nodes with CPU limit = 128m and memoryLimit = 536MB |
mod-permissions | 2 nodes with CPU limit = 128m and memoryLimit = 536MB |
ElasticSearch | AWS based
|
Search queries | Keyword search
Subjects search
Contributors search
Boolean search
Filter search
|
Count of resources | ~8,2 millions (bugfest-iris dataset) |
Index size | 26.6 Gb per replica (53.2 total) |
Performance Test duration | 180 (3 min) |
V_USERS | 1/10/20/50/100 |
RAMP_UP | 5 sec |
HOSTNAME |
Errors
All error in test results means that mod-search received response from ElasticSearch:
"Exception happened: Error raised when there was an exception while talking to ES. ConnectionError: Read timed out. (read timeout=30))"
After it, mod-search proxying error to the client in response. It means that the search performed longer than the timeout set up for ES.