6.12.1.1.4.4. Running profiling against Liberty Keystone (UUID tokens, cache turned on)¶
Contents
6.12.1.1.4.4.1. Parameters¶
| Parameter name | Value | 
|---|---|
| OpenStack release | Liberty | 
| Cache | on | 
| Token type | UUID | 
| Environment characteristics | Single node | 
6.12.1.1.4.4.2. Endpoint list request stats¶
Control plane request overlook
| Metric | Value | 
| Total (*) Keystone DB queries count | 44 | 
| Total (*) Keystone DB queries time spent, ms | 465 | 
| Infrastructure (SELECT 1) Keystone DB queries count | 22 | 
| Infrastructure (SELECT 1) Keystone DB queries time spent, ms | 230 | 
| Real Keystone DB queries count | 22 | 
| Real Keystone DB queries time spent, ms | 235 | 
| SELECT Keystone DB queries count | 20 | 
| SELECT Keystone DB queries time spent, ms | 204 | 
| INSERT Keystone DB queries count | 2 | 
| INSERT Keystone DB queries time spent, ms | 31 | 
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 user.id AS user_id, user.name AS user_name, user.domain_id AS user_domain_id, user.password AS user_password, user.enabled AS user_enabled, user.extra AS user_extra, user.default_project_id AS user_default_project_id FROM user WHERE user.id = %s  | 
5 | 
SELECT assignment.type AS assignment_type, assignment.actor_id AS assignment_actor_id, assignment.target_id AS assignment_target_id, assignment.role_id AS assignment_role_id, assignment.inherited AS assignment_inherited FROM assignment WHERE assignment.type = %s AND assignment.actor_id = %s AND assignment.target_id = %s  | 
18 | 
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  | 
15 | 
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  | 
25 | 
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 = %s  | 
13 | 
Keystone DB queries with multi JOINs inside
| DB query | Time spent, ms | 
Cached operations stats
| Cached operations | args | kwargs | Times used | 
| _validate_token | <keystone.token.provider.Manager object at 0x7ff1cde3f710>, ‘0038b99a5d8b4888b54b41d5799f56a2’ | 9 | |
| get_user_by_name | <keystone.identity.core.Manager object at 0x7ff1ce146750>, u’admin’, ‘default’ | 2 | |
| _get_token | <keystone.token.persistence.core.PersistenceManager object at 0x7ff1cc023210>, ‘0038b99a5d8b4888b54b41d5799f56a2’ | 1 | |
| _get_revoke_tree | <keystone.contrib.revoke.core.Manager object at 0x7ff1cde7e1d0>, | 10 | |
| get_role | <keystone.assignment.core.RoleManager object at 0x7ff1cde7d210>, u‘68e61c80e05244f2ab9af0a9e2e0320a’ | 2 | |
| get_project | <keystone.resource.core.Manager object at 0x7ff1cdeca190>, u‘741271ef2a554242af037d66d6682e3f’ | 4 | |
| get_domain | <keystone.resource.core.Manager object at 0x7ff1cdeca190>, u’default’ | 4 | |
| get_project_by_name | <keystone.resource.core.Manager object at 0x7ff1cdeca190>, u’admin’, ‘default’ | 2 | 
6.12.1.1.4.4.3. Server create request stats¶
Note
This control plane request numbers were not collected yet due to environmental issues.
6.12.1.1.4.4.4. Service list request stats¶
Control plane request overlook
| Metric | Value | 
| Total (*) Keystone DB queries count | 36 | 
| Total (*) Keystone DB queries time spent, ms | 227 | 
| Infrastructure (SELECT 1) Keystone DB queries count | 18 | 
| Infrastructure (SELECT 1) Keystone DB queries time spent, ms | 101 | 
| Real Keystone DB queries count | 18 | 
| Real Keystone DB queries time spent, ms | 126 | 
| SELECT Keystone DB queries count | 16 | 
| SELECT Keystone DB queries time spent, ms | 108 | 
| INSERT Keystone DB queries count | 2 | 
| INSERT Keystone DB queries time spent, ms | 18 | 
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 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 = %s  | 
13 | 
SELECT project.id AS project_id, project.name AS project_name, project.domain_id AS project_domain_id, project.description AS project_description, project.enabled AS project_enabled, project.extra AS project_extra, project.parent_id AS project_parent_id, project.is_domain AS project_is_domain FROM project WHERE project.name = %s AND project.domain_id = %s  | 
12 | 
SELECT user.id AS user_id, user.name AS user_name, user.domain_id AS user_domain_id, user.password AS user_password, user.enabled AS user_enabled, user.extra AS user_extra, user.default_project_id AS user_default_project_id FROM user WHERE user.id = %s  | 
5 | 
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  | 
16 | 
SELECT assignment.type AS assignment_type, assignment.actor_id AS assignment_actor_id, assignment.target_id AS assignment_target_id, assignment.role_id AS assignment_role_id, assignment.inherited AS assignment_inherited FROM assignment WHERE assignment.type = %s AND assignment.actor_id = %s AND assignment.target_id = %s  | 
18 | 
SELECT group.id AS group_id, group.name AS group_name, group.domain_id AS group_domain_id, group.description AS group_description, group.extra AS group_extra FROM group INNER JOIN user_group_membership ON group.id = user_group_membership.group_id WHERE user_group_membership.user_id = %s  | 
13 | 
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  | 
15 | 
Keystone DB queries with multi JOINs inside
| DB query | Time spent, ms | 
Cached operations stats
| Cached operations | args | kwargs | Times used | 
| get_user_by_name | <keystone.identity.core.Manager object at 0x7ff1ce146750>, u’admin’, ‘default’ | 1 | |
| get_project_by_name | <keystone.resource.core.Manager object at 0x7ff1cdeca190>, u’admin’, ‘default’ | 1 | |
| _get_revoke_tree | <keystone.contrib.revoke.core.Manager object at 0x7ff1cde7e1d0>, | 1 | |
| _get_token | <keystone.token.persistence.core.PersistenceManager object at 0x7ff1cc0cb890>, ‘1c61ea5b4b4c4583aa9c394631cf458b’ | 1 | |
| get_role | <keystone.assignment.core.RoleManager object at 0x7ff1cde7d210>, u‘68e61c80e05244f2ab9af0a9e2e0320a’ | 1 | |
| get_project | <keystone.resource.core.Manager object at 0x7ff1cdeca190>, u‘741271ef2a554242af037d66d6682e3f’ | 3 | |
| get_domain | <keystone.resource.core.Manager object at 0x7ff1cdeca190>, u’default’ | 3 | 
6.12.1.1.4.4.5. Token issue request stats¶
Control plane request overlook
| Metric | Value | 
| Total (*) Keystone DB queries count | 22 | 
| Total (*) Keystone DB queries time spent, ms | 107 | 
| Infrastructure (SELECT 1) Keystone DB queries count | 11 | 
| Infrastructure (SELECT 1) Keystone DB queries time spent, ms | 45 | 
| Real Keystone DB queries count | 11 | 
| Real Keystone DB queries time spent, ms | 62 | 
| SELECT Keystone DB queries count | 10 | 
| SELECT Keystone DB queries time spent, ms | 55 | 
| INSERT Keystone DB queries count | 1 | 
| INSERT Keystone DB queries time spent, ms | 7 | 
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 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 = %s  | 
13 | 
SELECT project.id AS project_id, project.name AS project_name, project.domain_id AS project_domain_id, project.description AS project_description, project.enabled AS project_enabled, project.extra AS project_extra, project.parent_id AS project_parent_id, project.is_domain AS project_is_domain FROM project WHERE project.name = %s AND project.domain_id = %s  | 
12 | 
SELECT user.id AS user_id, user.name AS user_name, user.domain_id AS user_domain_id, user.password AS user_password, user.enabled AS user_enabled, user.extra AS user_extra, user.default_project_id AS user_default_project_id FROM user WHERE user.id = %s  | 
5 | 
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  | 
16 | 
SELECT assignment.type AS assignment_type, assignment.actor_id AS assignment_actor_id, assignment.target_id AS assignment_target_id, assignment.role_id AS assignment_role_id, assignment.inherited AS assignment_inherited FROM assignment WHERE assignment.type = %s AND assignment.actor_id = %s AND assignment.target_id = %s  | 
18 | 
SELECT group.id AS group_id, group.name AS group_name, group.domain_id AS group_domain_id, group.description AS group_description, group.extra AS group_extra FROM group INNER JOIN user_group_membership ON group.id = user_group_membership.group_id WHERE user_group_membership.user_id = %s  | 
13 | 
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  | 
15 | 
Keystone DB queries with multi JOINs inside
| DB query | Time spent, ms | 
Cached operations stats
| Cached operations | args | kwargs | Times used | 
| get_project | <keystone.resource.core.Manager object at 0x7ff1cdeca190>, u‘741271ef2a554242af037d66d6682e3f’ | 1 | |
| get_domain | <keystone.resource.core.Manager object at 0x7ff1cdeca190>, u’default’ | 1 | 
6.12.1.1.4.4.6. User list request stats¶
Control plane request overlook
| Metric | Value | 
| Total (*) Keystone DB queries count | 26 | 
| Total (*) Keystone DB queries time spent, ms | 165 | 
| Infrastructure (SELECT 1) Keystone DB queries count | 13 | 
| Infrastructure (SELECT 1) Keystone DB queries time spent, ms | 61 | 
| Real Keystone DB queries count | 13 | 
| Real Keystone DB queries time spent, ms | 104 | 
| SELECT Keystone DB queries count | 11 | 
| SELECT Keystone DB queries time spent, ms | 90 | 
| INSERT Keystone DB queries count | 2 | 
| INSERT Keystone DB queries time spent, ms | 14 | 
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 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 = %s  | 
13 | 
SELECT project.id AS project_id, project.name AS project_name, project.domain_id AS project_domain_id, project.description AS project_description, project.enabled AS project_enabled, project.extra AS project_extra, project.parent_id AS project_parent_id, project.is_domain AS project_is_domain FROM project WHERE project.name = %s AND project.domain_id = %s  | 
12 | 
SELECT user.id AS user_id, user.name AS user_name, user.domain_id AS user_domain_id, user.password AS user_password, user.enabled AS user_enabled, user.extra AS user_extra, user.default_project_id AS user_default_project_id FROM user WHERE user.id = %s  | 
22 | 
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  | 
16 | 
SELECT assignment.type AS assignment_type, assignment.actor_id AS assignment_actor_id, assignment.target_id AS assignment_target_id, assignment.role_id AS assignment_role_id, assignment.inherited AS assignment_inherited FROM assignment WHERE assignment.type = %s AND assignment.actor_id = %s AND assignment.target_id = %s  | 
18 | 
SELECT group.id AS group_id, group.name AS group_name, group.domain_id AS group_domain_id, group.description AS group_description, group.extra AS group_extra FROM group INNER JOIN user_group_membership ON group.id = user_group_membership.group_id WHERE user_group_membership.user_id = %s  | 
13 | 
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  | 
15 | 
Keystone DB queries with multi JOINs inside
| DB query | Time spent, ms | 
Keystone cached methods stats
| Cached operations | args | kwargs | Times used | 
| get_user_by_name | <keystone.identity.core.Manager object at 0x7ff1ce146750>, u’admin’, ‘default’ | 2 | |
| get_project_by_name | <keystone.resource.core.Manager object at 0x7ff1cdeca190>, u’admin’, ‘default’ | 2 | |
| _get_revoke_tree | <keystone.contrib.revoke.core.Manager object at 0x7ff1cde7e1d0>, | 1 | |
| _get_token | <keystone.token.persistence.core.PersistenceManager object at 0x7ff1d7b6df90>, ‘b7cf92a4467145c888974097112c2c3d’ | 1 | |
| get_role | <keystone.assignment.core.RoleManager object at 0x7ff1cde7d210>, u‘68e61c80e05244f2ab9af0a9e2e0320a’ | 2 | |
| get_project | <keystone.resource.core.Manager object at 0x7ff1cdeca190>, u‘741271ef2a554242af037d66d6682e3f’ | 4 | |
| get_domain | <keystone.resource.core.Manager object at 0x7ff1cdeca190>, u’default’ | 4 |