Skip to content

High CPU usage on logout when using remote Infinispan only setup #32270

@ahus1

Description

@ahus1

Description

TL;DR: After the change of #31905 we have an Infinispan query running on each logout. Now the nightly run shows the following behavior:

  • an increased 50 perc latency on logout of 2+ second, but also other requests (possibly due to contention). 99 perc goes up to 8 seconds.
  • very high CPU usage on Infinispan (from 15% to 850% percent CPU usage)
  • There were 10_000 entries with a single owner in the session cache only (due to a misconfiguration in our setup, possibly originating from the persistent sessions re-configuration) - Revert change to have only 10_000 entries in Infinispan caches keycloak-benchmark#934
  • Once the number of entries dropped to 0 again during the test, the CPU usage decreased.

(can be moved to the keycloak repository as needed)

Discussion

No response

Motivation

We need to have a fast logout. Before, the map existed in the user session. Not we need a fast query if we want to stay with a query.

Further analysis is needed to see what Infinispan is doing. GC should be analysed on Infinispan.

These are a screenshots of a nightly run: The two quarter are not logging out, the second two quarters are logging out. During the third quarter, there are still client sessions in the cache. In the fourth quarter, they have expired.

In the third quarter, Keycloak is slow.

image

Number of user sessions goes down, but actually quite a lot later than the results return to normal response times:

image

Number of client sessions don't expire on the same speed. This is strange it its own way.

image

Details

No response

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions