...
Code Block |
---|
perf.test.usecase.knoxtoken.numOfThreads=15 perf.test.usecase.knoxtoken.testDurationInSecs=3600 perf.test.usecase.knoxtoken.requestDelayLowerBoundInSecs=1 perf.test.usecase.knoxtoken.requestDelayUpperBoundInSecs=2 |
Number of tokens created | Number of tokens renewed | Average response time (token creation)* | Average response time (token renewal) |
---|---|---|---|
ms | ms |
4.) 1-hour test execution with high load (tokens were generated between 1-2 seconds on 15 threads) - with token eviction:
In this test I kept the previous config and, additionally, I lowered the Token TTL to 10 minutes from 10 hours (by default, the token eviction grace period is set to 0). That triggered automated token eviction every 10 5 minutes.
Number of tokens created | Number of tokens renewed | Average response time (token creation)* | Average response time (token renewal) |
---|---|---|---|
49596 | 1430 | 85.5 ms | 19.09 ms |
Memory graph (using JConsole)
Token eviction took place as expected:
Code Block |
---|
2022-06-17 14:33:11,667 INFO token.state (JDBCTokenStateService.java:evictExpiredTokens(216)) - Removing 3,438 expired token(s) from the database
2022-06-17 14:38:11,648 INFO token.state (JDBCTokenStateService.java:evictExpiredTokens(216)) - Removing 4,007 expired token(s) from the database
2022-06-17 14:43:11,629 INFO token.state (JDBCTokenStateService.java:evictExpiredTokens(216)) - Removing 4,018 expired token(s) from the database
2022-06-17 14:48:11,640 INFO token.state (JDBCTokenStateService.java:evictExpiredTokens(216)) - Removing 4,011 expired token(s) from the database
2022-06-17 14:53:11,644 INFO token.state (JDBCTokenStateService.java:evictExpiredTokens(216)) - Removing 4,031 expired token(s) from the database
2022-06-17 14:58:11,629 INFO token.state (JDBCTokenStateService.java:evictExpiredTokens(216)) - Removing 3,990 expired token(s) from the database
2022-06-17 15:03:11,638 INFO token.state (JDBCTokenStateService.java:evictExpiredTokens(216)) - Removing 4,005 expired token(s) from the database
2022-06-17 15:08:11,646 INFO token.state (JDBCTokenStateService.java:evictExpiredTokens(216)) - Removing 4,011 expired token(s) from the database
2022-06-17 15:13:11,671 INFO token.state (JDBCTokenStateService.java:evictExpiredTokens(216)) - Removing 4,029 expired token(s) from the database
2022-06-17 15:18:11,659 INFO token.state (JDBCTokenStateService.java:evictExpiredTokens(216)) - Removing 3,997 expired token(s) from the database
2022-06-17 15:23:11,643 INFO token.state (JDBCTokenStateService.java:evictExpiredTokens(216)) - Removing 4,024 expired token(s) from the database |
*: There is a short warmup period at the beginning of each test round (see test results where token creation time takes ~2 seconds a couple of times). We could even see better results if those values were not recorded at the end (the longer the test period the better the average result is).