6.11.1.1.4.8. Running profiling against Mitaka Keystone (UUID tokens, cache turned on)¶
Contents
6.11.1.1.4.8.1. Parameters¶
Parameter name |
Value |
---|---|
OpenStack release |
Mitaka |
Cache |
on |
Token type |
UUID |
Environment characteristics |
Single node |
6.11.1.1.4.8.2. Endpoint list request stats¶
Control plane request overlook
Metric |
Value |
Total (*) Keystone DB queries count |
36 |
Total (*) Keystone DB queries time spent, ms |
365 |
Infrastructure (SELECT 1) Keystone DB queries count |
15 |
Infrastructure (SELECT 1) Keystone DB queries time spent, ms |
158 |
Real Keystone DB queries count |
21 |
Real Keystone DB queries time spent, ms |
207 |
SELECT Keystone DB queries count |
19 |
SELECT Keystone DB queries time spent, ms |
199 |
INSERT Keystone DB queries count |
2 |
INSERT Keystone DB queries time spent, ms |
8 |
Note
(*) OSprofiler uses specific SQLalchemy cursor events to track what’s going on with the DB layer. This number includes non-real DB requests “SELECT 1”, processed by SQLalchemy itself to make sure that connection to the database is still in place.
Keystone DB queries outliers
DB query |
Time spent, ms |
SELECT local_user.id AS local_user_id, local_user.user_id AS local_user_user_id, local_user.domain_id AS local_user_domain_id, local_user.name AS local_user_name, anon_1.user_id AS anon_1_user_id FROM (SELECT user.id AS user_id FROM user WHERE user.id = %(param_1)s) AS anon_1 INNER JOIN local_user ON anon_1.user_id = local_user.user_id ORDER BY anon_1.user_id |
11 |
SELECT user.id AS user_id, user.enabled AS user_enabled, user.extra AS user_extra, user.default_project_id AS user_default_project_id FROM user WHERE user.id = %(param_1)s |
17 |
SELECT service.id AS service_id, service.type AS service_type, service.enabled AS service_enabled, service.extra AS service_extra FROM service WHERE service.id = %(param_1)s |
4 |
SELECT endpoint.id AS endpoint_id, endpoint.legacy_endpoint_id AS endpoint_legacy_endpoint_id, endpoint.interface AS endpoint_interface, endpoint.region_id AS endpoint_region_id, endpoint.service_id AS endpoint_service_id, endpoint.url AS endpoint_url, endpoint.enabled AS endpoint_enabled, endpoint.extra AS endpoint_extra FROM endpoint |
5 |
Keystone DB queries with multi JOINs inside
DB query |
Time spent, ms |
Keystone cached methods stats
Cache |
Cached operations |
args |
kwargs |
Times used |
Memcache |
get_roles_for_user_and_project |
<keystone.assignment.core.Manager object at 0x7fbe19ec8dd0>, u’31d31420a3e349268cd7875aa1825663’, u’f1a058ad00364df29cb819a5478e8884’ |
2 |
|
Memcache |
_get_token |
<keystone.token.persistence.core.PersistenceManager object at 0x7fbe18c510d0>, ‘4826bf1d6cc04e658316a0135d225f32’ |
1 |
|
Memcache |
get_project |
<keystone.resource.core.Manager object at 0x7fbe19db6090>, u’f1a058ad00364df29cb819a5478e8884’ |
2 |
|
Memcache |
get_role |
<keystone.assignment.core.RoleManager object at 0x7fbe19d8d190>, u’8272f6d8be65464e94d3be094cf35e4c’ |
2 |
|
Memcache |
_validate_token |
<keystone.token.provider.Manager object at 0x7fbe19d55090>, ‘4826bf1d6cc04e658316a0135d225f32’ |
8 |
|
Memcache |
get_user_by_name |
<keystone.identity.core.Manager object at 0x7fbe1a0e0950>, u’admin’, ‘default’ |
2 |
|
Memcache |
get_project_by_name |
<keystone.resource.core.Manager object at 0x7fbe19db6090>, u’admin’, ‘default’ |
2 |
|
Memcache |
_get_revoke_tree |
<keystone.revoke.core.Manager object at 0x7fbe19d9d950>, |
9 |
|
Memcache |
get_domain |
<keystone.resource.core.Manager object at 0x7fbe19db6090>, u’default’ |
4 |
6.11.1.1.4.8.3. Server create request stats¶
Control plane request overlook
Metric |
Value |
Total (*) Keystone DB queries count |
22 |
Total (*) Keystone DB queries time spent, ms |
225 |
Infrastructure (SELECT 1) Keystone DB queries count |
8 |
Infrastructure (SELECT 1) Keystone DB queries time spent, ms |
115 |
Real Keystone DB queries count |
14 |
Real Keystone DB queries time spent, ms |
110 |
SELECT Keystone DB queries count |
12 |
SELECT Keystone DB queries time spent, ms |
95 |
INSERT Keystone DB queries count |
2 |
INSERT Keystone DB queries time spent, ms |
15 |
Note
(*) OSprofiler uses specific SQLalchemy cursor events to track what’s going on with the DB layer. This number includes non-real DB requests “SELECT 1”, processed by SQLalchemy itself to make sure that connection to the database is still in place.
Keystone DB queries outliers
DB query |
Time spent, ms |
SELECT local_user.id AS local_user_id, local_user.user_id AS local_user_user_id, local_user.domain_id AS local_user_domain_id, local_user.name AS local_user_name, anon_1.user_id AS anon_1_user_id FROM (SELECT user.id AS user_id FROM user WHERE user.id = %(param_1)s) AS anon_1 INNER JOIN local_user ON anon_1.user_id = local_user.user_id ORDER BY anon_1.user_id |
11 |
SELECT user.id AS user_id, user.enabled AS user_enabled, user.extra AS user_extra, user.default_project_id AS user_default_project_id FROM user WHERE user.id = %(param_1)s |
17 |
SELECT endpoint.id AS endpoint_id, endpoint.legacy_endpoint_id AS endpoint_legacy_endpoint_id, endpoint.interface AS endpoint_interface, endpoint.region_id AS endpoint_region_id, endpoint.service_id AS endpoint_service_id, endpoint.url AS endpoint_url, endpoint.enabled AS endpoint_enabled, endpoint.extra AS endpoint_extra, service_1.id AS service_1_id, service_1.type AS service_1_type, service_1.enabled AS service_1_enabled, service_1.extra AS service_1_extra FROM endpoint LEFT OUTER JOIN service AS service_1 ON service_1.id = endpoint.service_id WHERE endpoint.enabled = true |
24 |
SELECT service.id AS service_id, service.type AS service_type, service.enabled AS service_enabled, service.extra AS service_extra FROM service WHERE service.id = %(param_1)s |
4 |
SELECT endpoint.id AS endpoint_id, endpoint.legacy_endpoint_id AS endpoint_legacy_endpoint_id, endpoint.interface AS endpoint_interface, endpoint.region_id AS endpoint_region_id, endpoint.service_id AS endpoint_service_id, endpoint.url AS endpoint_url, endpoint.enabled AS endpoint_enabled, endpoint.extra AS endpoint_extra FROM endpoint |
5 |
Keystone DB queries with multi JOINs inside
DB query |
Time spent, ms |
Keystone cached methods stats
Cache |
Cached operations |
args |
kwargs |
Times used |
Memcache |
get_roles_for_user_and_project |
<keystone.assignment.core.Manager object at 0x7fbe19ec8dd0>, u’31d31420a3e349268cd7875aa1825663’, u’f1a058ad00364df29cb819a5478e8884’ |
3 |
|
Memcache |
get_project |
<keystone.resource.core.Manager object at 0x7fbe19db7090>, u’f1a058ad00364df29cb819a5478e8884’ |
1 |
|
Memcache |
get_domain |
<keystone.resource.core.Manager object at 0x7fbe19db6090>, u’default’ |
4 |
|
Memcache |
get_project |
<keystone.resource.core.Manager object at 0x7fbe19db6090>, u’f1a058ad00364df29cb819a5478e8884’ |
2 |
|
Memcache |
get_role |
<keystone.assignment.core.RoleManager object at 0x7fbe19d8d190>, u’8272f6d8be65464e94d3be094cf35e4c’ |
3 |
|
Memcache |
_get_token |
<keystone.token.persistence.core.PersistenceManager object at 0x7fbe19c59bd0>, ‘428e793676454d04a9ea2fec753c35b1’ |
2 |
|
Memcache |
get_user |
<keystone.identity.core.Manager object at 0x7fbe1a0e0950>, u’31d31420a3e349268cd7875aa1825663’ |
1 |
|
Memcache |
get_user_by_name |
<keystone.identity.core.Manager object at 0x7fbe1a0e0950>, u’admin’, ‘default’ |
2 |
|
Memcache |
get_domain |
<keystone.resource.core.Manager object at 0x7fbe19db7090>, u’default’ |
2 |
|
Memcache |
get_project_by_name |
<keystone.resource.core.Manager object at 0x7fbe19db6090>, u’admin’, ‘default’ |
2 |
|
Memcache |
_get_revoke_tree |
<keystone.revoke.core.Manager object at 0x7fbe19d9d950>, |
3 |
|
Memcache |
_validate_token |
<keystone.token.provider.Manager object at 0x7fbe19d55090>, ‘18d75ba7355d4a8684a5d5658d005f1f’ |
1 |
6.11.1.1.4.8.4. Service list request stats¶
Control plane request overlook
Metric |
Value |
Total (*) Keystone DB queries count |
20 |
Total (*) Keystone DB queries time spent, ms |
131 |
Infrastructure (SELECT 1) Keystone DB queries count |
7 |
Infrastructure (SELECT 1) Keystone DB queries time spent, ms |
48 |
Real Keystone DB queries count |
13 |
Real Keystone DB queries time spent, ms |
83 |
SELECT Keystone DB queries count |
11 |
SELECT Keystone DB queries time spent, ms |
74 |
INSERT Keystone DB queries count |
2 |
INSERT Keystone DB queries time spent, ms |
9 |
Note
(*) OSprofiler uses specific SQLalchemy cursor events to track what’s going on with the DB layer. This number includes non-real DB requests “SELECT 1”, processed by SQLalchemy itself to make sure that connection to the database is still in place.
Keystone DB queries outliers
DB query |
Time spent, ms |
SELECT local_user.id AS local_user_id, local_user.user_id AS local_user_user_id, local_user.domain_id AS local_user_domain_id, local_user.name AS local_user_name, anon_1.user_id AS anon_1_user_id FROM (SELECT user.id AS user_id FROM user WHERE user.id = %(param_1)s) AS anon_1 INNER JOIN local_user ON anon_1.user_id = local_user.user_id ORDER BY anon_1.user_id |
11 |
SELECT user.id AS user_id, user.enabled AS user_enabled, user.extra AS user_extra, user.default_project_id AS user_default_project_id FROM user WHERE user.id = %(param_1)s |
17 |
SELECT endpoint.id AS endpoint_id, endpoint.legacy_endpoint_id AS endpoint_legacy_endpoint_id, endpoint.interface AS endpoint_interface, endpoint.region_id AS endpoint_region_id, endpoint.service_id AS endpoint_service_id, endpoint.url AS endpoint_url, endpoint.enabled AS endpoint_enabled, endpoint.extra AS endpoint_extra, service_1.id AS service_1_id, service_1.type AS service_1_type, service_1.enabled AS service_1_enabled, service_1.extra AS service_1_extra FROM endpoint LEFT OUTER JOIN service AS service_1 ON service_1.id = endpoint.service_id WHERE endpoint.enabled = true |
24 |
SELECT service.id AS service_id, service.type AS service_type, service.enabled AS service_enabled, service.extra AS service_extra FROM service WHERE service.id = %(param_1)s |
4 |
SELECT endpoint.id AS endpoint_id, endpoint.legacy_endpoint_id AS endpoint_legacy_endpoint_id, endpoint.interface AS endpoint_interface, endpoint.region_id AS endpoint_region_id, endpoint.service_id AS endpoint_service_id, endpoint.url AS endpoint_url, endpoint.enabled AS endpoint_enabled, endpoint.extra AS endpoint_extra FROM endpoint |
5 |
Keystone DB queries with multi JOINs inside
DB query |
Time spent, ms |
Keystone cached methods stats
Cache |
Cached operations |
args |
kwargs |
Times used |
Memcache |
get_roles_for_user_and_project |
<keystone.assignment.core.Manager object at 0x7fbe19ec8dd0>, u’31d31420a3e349268cd7875aa1825663’, u’f1a058ad00364df29cb819a5478e8884’ |
2 |
|
Memcache |
_get_token |
<keystone.token.persistence.core.PersistenceManager object at 0x7fbe1888aad0>, ‘6982459b63f647ed9210bd0ce32f8e95’ |
1 |
|
Memcache |
get_project |
<keystone.resource.core.Manager object at 0x7fbe19db6090>, u’f1a058ad00364df29cb819a5478e8884’ |
2 |
|
Memcache |
get_role |
<keystone.assignment.core.RoleManager object at 0x7fbe19d8d190>, u’8272f6d8be65464e94d3be094cf35e4c’ |
2 |
|
Memcache |
get_user_by_name |
<keystone.identity.core.Manager object at 0x7fbe1a0e0950>, u’admin’, ‘default’ |
2 |
|
Memcache |
get_project_by_name |
<keystone.resource.core.Manager object at 0x7fbe19db6090>, u’admin’, ‘default’ |
2 |
|
Memcache |
_get_revoke_tree |
<keystone.revoke.core.Manager object at 0x7fbe19d9d950>, |
1 |
|
Memcache |
get_domain |
<keystone.resource.core.Manager object at 0x7fbe19db6090>, u’default’ |
4 |
6.11.1.1.4.8.5. Token issue request stats¶
Control plane request overlook
Metric |
Value |
Total (*) Keystone DB queries count |
9 |
Total (*) Keystone DB queries time spent, ms |
114 |
Infrastructure (SELECT 1) Keystone DB queries count |
3 |
Infrastructure (SELECT 1) Keystone DB queries time spent, ms |
41 |
Real Keystone DB queries count |
6 |
Real Keystone DB queries time spent, ms |
73 |
SELECT Keystone DB queries count |
5 |
SELECT Keystone DB queries time spent, ms |
67 |
INSERT Keystone DB queries count |
1 |
INSERT Keystone DB queries time spent, ms |
6 |
Note
(*) OSprofiler uses specific SQLalchemy cursor events to track what’s going on with the DB layer. This number includes non-real DB requests “SELECT 1”, processed by SQLalchemy itself to make sure that connection to the database is still in place.
Keystone DB queries outliers
DB query |
Time spent, ms |
SELECT local_user.id AS local_user_id, local_user.user_id AS local_user_user_id, local_user.domain_id AS local_user_domain_id, local_user.name AS local_user_name, anon_1.user_id AS anon_1_user_id FROM (SELECT user.id AS user_id FROM user WHERE user.id = %(param_1)s) AS anon_1 INNER JOIN local_user ON anon_1.user_id = local_user.user_id ORDER BY anon_1.user_id |
11 |
SELECT user.id AS user_id, user.enabled AS user_enabled, user.extra AS user_extra, user.default_project_id AS user_default_project_id FROM user WHERE user.id = %(param_1)s |
20 |
SELECT endpoint.id AS endpoint_id, endpoint.legacy_endpoint_id AS endpoint_legacy_endpoint_id, endpoint.interface AS endpoint_interface, endpoint.region_id AS endpoint_region_id, endpoint.service_id AS endpoint_service_id, endpoint.url AS endpoint_url, endpoint.enabled AS endpoint_enabled, endpoint.extra AS endpoint_extra, service_1.id AS service_1_id, service_1.type AS service_1_type, service_1.enabled AS service_1_enabled, service_1.extra AS service_1_extra FROM endpoint LEFT OUTER JOIN service AS service_1 ON service_1.id = endpoint.service_id WHERE endpoint.enabled = true |
24 |
SELECT service.id AS service_id, service.type AS service_type, service.enabled AS service_enabled, service.extra AS service_extra FROM service WHERE service.id = %(param_1)s |
4 |
SELECT endpoint.id AS endpoint_id, endpoint.legacy_endpoint_id AS endpoint_legacy_endpoint_id, endpoint.interface AS endpoint_interface, endpoint.region_id AS endpoint_region_id, endpoint.service_id AS endpoint_service_id, endpoint.url AS endpoint_url, endpoint.enabled AS endpoint_enabled, endpoint.extra AS endpoint_extra FROM endpoint |
5 |
Keystone DB queries with multi JOINs inside
DB query |
Time spent, ms |
Keystone cached methods stats
Cache |
Cached operations |
args |
kwargs |
Times used |
Memcache |
get_roles_for_user_and_project |
<keystone.assignment.core.Manager object at 0x7fbe19ec8dd0>, u’31d31420a3e349268cd7875aa1825663’, u’f1a058ad00364df29cb819a5478e8884’ |
1 |
|
Memcache |
get_project |
<keystone.resource.core.Manager object at 0x7fbe19db6090>, u’f1a058ad00364df29cb819a5478e8884’ |
1 |
|
Memcache |
get_role |
<keystone.assignment.core.RoleManager object at 0x7fbe19d8d190>, u’8272f6d8be65464e94d3be094cf35e4c’ |
1 |
|
Memcache |
get_user_by_name |
<keystone.identity.core.Manager object at 0x7fbe1a0e0950>, u’admin’, ‘default’ |
1 |
|
Memcache |
get_project_by_name |
<keystone.resource.core.Manager object at 0x7fbe19db6090>, u’admin’, ‘default’ |
1 |
|
Memcache |
get_domain |
<keystone.resource.core.Manager object at 0x7fbe19db6090>, u’default’ |
2 |
6.11.1.1.4.8.6. User list request stats¶
Control plane request overlook
Metric |
Value |
Total (*) Keystone DB queries count |
30 |
Total (*) Keystone DB queries time spent, ms |
178 |
Infrastructure (SELECT 1) Keystone DB queries count |
7 |
Infrastructure (SELECT 1) Keystone DB queries time spent, ms |
33 |
Real Keystone DB queries count |
23 |
Real Keystone DB queries time spent, ms |
145 |
SELECT Keystone DB queries count |
21 |
SELECT Keystone DB queries time spent, ms |
136 |
INSERT Keystone DB queries count |
2 |
INSERT Keystone DB queries time spent, ms |
9 |
Note
(*) OSprofiler uses specific SQLalchemy cursor events to track what’s going on with the DB layer. This number includes non-real DB requests “SELECT 1”, processed by SQLalchemy itself to make sure that connection to the database is still in place.
Keystone DB queries outliers
DB query |
Time spent, ms |
SELECT password.id AS password_id, password.local_user_id AS password_local_user_id, password.password AS password_password FROM password WHERE %(param_1)s = password.local_user_id |
9 |
SELECT user.id AS user_id, user.enabled AS user_enabled, user.extra AS user_extra, user.default_project_id AS user_default_project_id FROM user LEFT OUTER JOIN local_user ON user.id = local_user.user_id WHERE local_user.domain_id = %(domain_id_1)s |
4 |
SELECT service.id AS service_id, service.type AS service_type, service.enabled AS service_enabled, service.extra AS service_extra FROM service WHERE service.id = %(param_1)s |
4 |
SELECT endpoint.id AS endpoint_id, endpoint.legacy_endpoint_id AS endpoint_legacy_endpoint_id, endpoint.interface AS endpoint_interface, endpoint.region_id AS endpoint_region_id, endpoint.service_id AS endpoint_service_id, endpoint.url AS endpoint_url, endpoint.enabled AS endpoint_enabled, endpoint.extra AS endpoint_extra, service_1.id AS service_1_id, service_1.type AS service_1_type, service_1.enabled AS service_1_enabled, service_1.extra AS service_1_extra FROM endpoint LEFT OUTER JOIN service AS service_1 ON service_1.id = endpoint.service_id WHERE endpoint.enabled = true |
12 |
SELECT local_user.id AS local_user_id, local_user.user_id AS local_user_user_id, local_user.domain_id AS local_user_domain_id, local_user.name AS local_user_name, anon_1.user_id AS anon_1_user_id FROM (SELECT user.id AS user_id FROM user WHERE user.id = %(param_1)s) AS anon_1 INNER JOIN local_user ON anon_1.user_id = local_user.user_id ORDER BY anon_1.user_id |
10 |
SELECT user.id AS user_id, user.enabled AS user_enabled, user.extra AS user_extra, user.default_project_id AS user_default_project_id FROM user WHERE user.id = %(param_1)s |
9 |
SELECT local_user.id AS local_user_id, local_user.user_id AS local_user_user_id, local_user.domain_id AS local_user_domain_id, local_user.name AS local_user_name, anon_1.user_id AS anon_1_user_id FROM (SELECT user.id AS user_id FROM user LEFT OUTER JOIN local_user ON user.id = local_user.user_id WHERE local_user.domain_id = %(domain_id_1)s) AS anon_1 INNER JOIN local_user ON anon_1.user_id = local_user.user_id ORDER BY anon_1.user_id |
9 |
SELECT endpoint.id AS endpoint_id, endpoint.legacy_endpoint_id AS endpoint_legacy_endpoint_id, endpoint.interface AS endpoint_interface, endpoint.region_id AS endpoint_region_id, endpoint.service_id AS endpoint_service_id, endpoint.url AS endpoint_url, endpoint.enabled AS endpoint_enabled, endpoint.extra AS endpoint_extra FROM endpoint |
5 |
SELECT federated_user.id AS federated_user_id, federated_user.user_id AS federated_user_user_id, federated_user.idp_id AS federated_user_idp_id, federated_user.protocol_id AS federated_user_protocol_id, federated_user.unique_id AS federated_user_unique_id, federated_user.display_name AS federated_user_display_name, anon_1.user_id AS anon_1_user_id FROM (SELECT user.id AS user_id FROM user WHERE user.id = %(param_1)s) AS anon_1 INNER JOIN federated_user ON anon_1.user_id = federated_user.user_id ORDER BY anon_1.user_id |
4 |
Keystone DB queries with multi JOINs inside
DB query |
Time spent, ms |
Keystone cached methods stats
Cache |
Cached operations |
args |
kwargs |
Times used |
Memcache |
get_roles_for_user_and_project |
<keystone.assignment.core.Manager object at 0x7fbe19ec8dd0>, u’31d31420a3e349268cd7875aa1825663’, u’f1a058ad00364df29cb819a5478e8884’ |
2 |
|
Memcache |
get_domain |
<keystone.resource.core.Manager object at 0x7fbe19db6090>, u’default’ |
4 |
|
Memcache |
get_project |
<keystone.resource.core.Manager object at 0x7fbe19db6090>, u’f1a058ad00364df29cb819a5478e8884’ |
2 |
|
Memcache |
get_role |
<keystone.assignment.core.RoleManager object at 0x7fbe19d8d190>, u’8272f6d8be65464e94d3be094cf35e4c’ |
2 |
|
Memcache |
get_user_by_name |
<keystone.identity.core.Manager object at 0x7fbe1a0e0950>, u’admin’, ‘default’ |
2 |
|
Memcache |
get_project_by_name |
<keystone.resource.core.Manager object at 0x7fbe19db6090>, u’admin’, ‘default’ |
2 |
|
Memcache |
_get_revoke_tree |
<keystone.revoke.core.Manager object at 0x7fbe19d9d950>, |
1 |
|
Memcache |
_get_token |
<keystone.token.persistence.core.PersistenceManager object at 0x7fbe18c53450>, ‘6c4b9b6e838c42ff83e6dcfed52f596e’ |
1 |