6.12.1.1.4.8. Running profiling against Mitaka Keystone (UUID tokens, cache turned on)¶
Contents
6.12.1.1.4.8.1. Parameters¶
Parameter name | Value |
---|---|
OpenStack release | Mitaka |
Cache | on |
Token type | UUID |
Environment characteristics | Single node |
6.12.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.12.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.12.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.12.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.12.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 |