keystone/keystone/revoke
“Richard 9e84371461 Improve check_token validation performance
This patch improves check_token validation performance by only pulling
revocation events based on the token issued_at value, taking advantage
of the table index. In this way, only a subset of relevant events will
be returned for validation.

Benchmarks can be seen at [1], but included here as well:

Time per Request for Old Method
-------------------------------
10 revokes at 7.908
100 revokes at 18.224
1,000 revokes at 110.155
10,000 revokes at 1998.220

Time per Request New Method
---------------------------
10 revokes at 17.636ms,
100 revokes at 17.279ms,
1,000 revokes at 17.370,
10,000 revokes w/all revokes issued before token at 17.263 (best case)
10,000 revokes w/all revokes after token creation 44.934ms (worst case)

[1] https://gist.github.com/csrichard1/4b7b8527ee5a6565a84956cff33cf29b

Change-Id: I9c2f067d870d542ec5909eaf8b24ded07b75f433
Partial-Bug: 1524030
2016-10-13 15:39:54 +00:00
..
backends Improve check_token validation performance 2016-10-13 15:39:54 +00:00
__init__.py Remove exposure of routers at package level 2015-12-03 15:06:56 -03:00
controllers.py Use request.params instead of context['query_string'] 2016-06-29 04:46:57 +10:00
core.py Improve check_token validation performance 2016-10-13 15:39:54 +00:00
model.py Use requst local in-process cache per request 2016-02-24 13:34:46 -08:00
routers.py Move revoke extension into core 2015-11-18 15:14:07 +00:00