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 |