6.11.1.1.4.6. Running profiling against Mitaka Keystone (Fernet tokens, cache turned on)

6.11.1.1.4.6.1. Parameters

Parameter name

Value

OpenStack release

Mitaka

Cache

on

Token type

Fernet

Environment characteristics

Single node

6.11.1.1.4.6.2. Endpoint list request stats

Control plane request overlook

Metric

Value

Total (*) Keystone DB queries count

36

Total (*) Keystone DB queries time spent, ms

203

Infrastructure (SELECT 1) Keystone DB queries count

15

Infrastructure (SELECT 1) Keystone DB queries time spent, ms

82

Real Keystone DB queries count

21

Real Keystone DB queries time spent, ms

121

SELECT Keystone DB queries count

21

SELECT Keystone DB queries time spent, ms

121

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


3

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


8

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 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


7

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


9

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_domain

<keystone.resource.core.Manager object at 0x7ff335d08e10>, u’default’

2

Memcache

get_project

<keystone.resource.core.Manager object at 0x7ff335d08e10>, ‘1f093e18f4ab4318bdb2876a03d81811’

1

Memcache

get_role

<keystone.assignment.core.RoleManager object at 0x7ff335cbdf90>, u’3481c11394a64189bafc60551e1ee25c’

3

Memcache

get_roles_for_user_and_project

<keystone.assignment.core.Manager object at 0x7ff335e09c10>, u’b4a6b5f09b9c4b57a582b16537f4a976’, u’1f093e18f4ab4318bdb2876a03d81811’

2

Memcache

get_project_by_name

<keystone.resource.core.Manager object at 0x7ff335d07e10>, u’admin’, ‘default’

2

Memcache

get_domain

<keystone.resource.core.Manager object at 0x7ff335d07e10>, u’default’

4

Memcache

get_user_by_name

<keystone.identity.core.Manager object at 0x7ff336019d90>, u’admin’, ‘default’

2

Memcache

_get_revoke_tree

<keystone.revoke.core.Manager object at 0x7ff335cdf790>,

9

Memcache

_validate_token

<keystone.token.provider.Manager object at 0x7ff335c8be90>, ‘gAAAAABXBnVbEtemCkqIkBAri3f0P5C2s3z- ZzP5MCkHMCHVGuLdwaJsxuw9k731LHrIuKE9krW- 2bU7ToROLD9oPTZA38kOU4jy5kqJWzBj7O5VpoQDSi_3VerUdQytO31d47N6v-dYmLtatUKPAHJmMGvRikjhBN4laTh8gay- LEPId9yhdeA’

8

Memcache

get_roles_for_user_and_project

<keystone.assignment.core.Manager object at 0x7ff335e09c10>, ‘b4a6b5f09b9c4b57a582b16537f4a976’, ‘1f093e18f4ab4318bdb2876a03d81811’

1

Memcache

get_project

<keystone.resource.core.Manager object at 0x7ff335d07e10>, u’1f093e18f4ab4318bdb2876a03d81811’

2

Memcache

get_user

<keystone.identity.core.Manager object at 0x7ff336019d90>, ‘b4a6b5f09b9c4b57a582b16537f4a976’

1

6.11.1.1.4.6.3. Server create request stats

Control plane request overlook

Metric

Value

Total (*) Keystone DB queries count

22

Total (*) Keystone DB queries time spent, ms

213

Infrastructure (SELECT 1) Keystone DB queries count

8

Infrastructure (SELECT 1) Keystone DB queries time spent, ms

77

Real Keystone DB queries count

14

Real Keystone DB queries time spent, ms

136

SELECT Keystone DB queries count

14

SELECT Keystone DB queries time spent, ms

136

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, endpoint_1.id AS endpoint_1_id, endpoint_1.legacy_endpoint_id AS endpoint_1_legacy_endpoint_id, endpoint_1.interface AS endpoint_1_interface, endpoint_1.region_id AS endpoint_1_region_id, endpoint_1.service_id AS endpoint_1_service_id, endpoint_1.url AS endpoint_1_url, endpoint_1.enabled AS endpoint_1_enabled, endpoint_1.extra AS endpoint_1_extra FROM service LEFT OUTER JOIN endpoint AS endpoint_1 ON service.id = endpoint_1.service_id WHERE service.enabled = true


14

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


8

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


23

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


3

SELECT service_provider.id AS service_provider_id, service_provider.enabled AS service_provider_enabled, service_provider.description AS service_provider_description, service_provider.auth_url AS service_provider_auth_url, service_provider.sp_url AS service_provider_sp_url, service_provider.relay_state_prefix AS service_provider_relay_state_prefix FROM service_provider WHERE service_provider.enabled = true


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


9

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


7

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_domain

<keystone.resource.core.Manager object at 0x7ff335d08e10>, u’default’

4

Memcache

_validate_token

<keystone.token.provider.Manager object at 0x7ff335c8be90>, ‘gAAAAABXBmrRWacx2eWnMbEUxvtXGHLKT3SQfT56J-61d7WyHqAAHH7KN5jv1EFuCusKWBtTZ2KmoXhRN6-u0NdLlgBHYvSwho- sOmmnD1IhHkHr0ZTml39hLZXhM0HmkAy3tSbq76aLvVYGDqE9BHjjVlU4W-P_gXwad6ZhdH9XkoOCkzmWJR4’

1

Memcache

get_project

<keystone.resource.core.Manager object at 0x7ff335d08e10>, ‘1f093e18f4ab4318bdb2876a03d81811’

2

Memcache

get_role

<keystone.assignment.core.RoleManager object at 0x7ff335cbdf90>, u’3481c11394a64189bafc60551e1ee25c’

4

Memcache

get_roles_for_user_and_project

<keystone.assignment.core.Manager object at 0x7ff335e09c10>, u’b4a6b5f09b9c4b57a582b16537f4a976’, u’1f093e18f4ab4318bdb2876a03d81811’

2

Memcache

get_project_by_name

<keystone.resource.core.Manager object at 0x7ff335d07e10>, u’admin’, ‘default’

2

Memcache

get_domain

<keystone.resource.core.Manager object at 0x7ff335d07e10>, u’default’

4

Memcache

get_user_by_name

<keystone.identity.core.Manager object at 0x7ff336019d90>, u’admin’, ‘default’

2

Memcache

_get_revoke_tree

<keystone.revoke.core.Manager object at 0x7ff335cdf790>,

3

Memcache

get_roles_for_user_and_project

<keystone.assignment.core.Manager object at 0x7ff335e09c10>, ‘b4a6b5f09b9c4b57a582b16537f4a976’, ‘1f093e18f4ab4318bdb2876a03d81811’

2

Memcache

get_project

<keystone.resource.core.Manager object at 0x7ff335d07e10>, u’1f093e18f4ab4318bdb2876a03d81811’

2

Memcache

get_user

<keystone.identity.core.Manager object at 0x7ff336019d90>, ‘b4a6b5f09b9c4b57a582b16537f4a976’

2

6.11.1.1.4.6.4. Service list request stats

Control plane request overlook

Metric

Value

Total (*) Keystone DB queries count

20

Total (*) Keystone DB queries time spent, ms

126

Infrastructure (SELECT 1) Keystone DB queries count

7

Infrastructure (SELECT 1) Keystone DB queries time spent, ms

38

Real Keystone DB queries count

13

Real Keystone DB queries time spent, ms

88

SELECT Keystone DB queries count

13

SELECT Keystone DB queries time spent, ms

88

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


4

SELECT service.id AS service_id, service.type AS service_type, service.enabled AS service_enabled, service.extra AS service_extra, endpoint_1.id AS endpoint_1_id, endpoint_1.legacy_endpoint_id AS endpoint_1_legacy_endpoint_id, endpoint_1.interface AS endpoint_1_interface, endpoint_1.region_id AS endpoint_1_region_id, endpoint_1.service_id AS endpoint_1_service_id, endpoint_1.url AS endpoint_1_url, endpoint_1.enabled AS endpoint_1_enabled, endpoint_1.extra AS endpoint_1_extra FROM service LEFT OUTER JOIN endpoint AS endpoint_1 ON service.id = endpoint_1.service_id WHERE service.enabled = true


14

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


8

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


23

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


4

SELECT service_provider.id AS service_provider_id, service_provider.enabled AS service_provider_enabled, service_provider.description AS service_provider_description, service_provider.auth_url AS service_provider_auth_url, service_provider.sp_url AS service_provider_sp_url, service_provider.relay_state_prefix AS service_provider_relay_state_prefix FROM service_provider WHERE service_provider.enabled = true


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


9

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_domain

<keystone.resource.core.Manager object at 0x7ff335d08e10>, u’default’

2

Memcache

get_project

<keystone.resource.core.Manager object at 0x7ff335d08e10>, ‘1f093e18f4ab4318bdb2876a03d81811’

1

Memcache

get_role

<keystone.assignment.core.RoleManager object at 0x7ff335cbdf90>, u’3481c11394a64189bafc60551e1ee25c’

3

Memcache

get_roles_for_user_and_project

<keystone.assignment.core.Manager object at 0x7ff335e09c10>, u’b4a6b5f09b9c4b57a582b16537f4a976’, u’1f093e18f4ab4318bdb2876a03d81811’

2

Memcache

get_project_by_name

<keystone.resource.core.Manager object at 0x7ff335d07e10>, u’admin’, ‘default’

2

Memcache

get_domain

<keystone.resource.core.Manager object at 0x7ff335d07e10>, u’default’

4

Memcache

get_user_by_name

<keystone.identity.core.Manager object at 0x7ff336019d90>, u’admin’, ‘default’

2

Memcache

_get_revoke_tree

<keystone.revoke.core.Manager object at 0x7ff335cdf790>,

1

Memcache

get_roles_for_user_and_project

<keystone.assignment.core.Manager object at 0x7ff335e09c10>, ‘b4a6b5f09b9c4b57a582b16537f4a976’, ‘1f093e18f4ab4318bdb2876a03d81811’

1

Memcache

get_project

<keystone.resource.core.Manager object at 0x7ff335d07e10>, u’1f093e18f4ab4318bdb2876a03d81811’

2

Memcache

get_user

<keystone.identity.core.Manager object at 0x7ff336019d90>, ‘b4a6b5f09b9c4b57a582b16537f4a976’

1

6.11.1.1.4.6.5. Token issue request stats

Control plane request overlook

Metric

Value

Total (*) Keystone DB queries count

7

Total (*) Keystone DB queries time spent, ms

49

Infrastructure (SELECT 1) Keystone DB queries count

2

Infrastructure (SELECT 1) Keystone DB queries time spent, ms

14

Real Keystone DB queries count

5

Real Keystone DB queries time spent, ms

35

SELECT Keystone DB queries count

5

SELECT Keystone DB queries time spent, ms

35

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


4

SELECT service.id AS service_id, service.type AS service_type, service.enabled AS service_enabled, service.extra AS service_extra, endpoint_1.id AS endpoint_1_id, endpoint_1.legacy_endpoint_id AS endpoint_1_legacy_endpoint_id, endpoint_1.interface AS endpoint_1_interface, endpoint_1.region_id AS endpoint_1_region_id, endpoint_1.service_id AS endpoint_1_service_id, endpoint_1.url AS endpoint_1_url, endpoint_1.enabled AS endpoint_1_enabled, endpoint_1.extra AS endpoint_1_extra FROM service LEFT OUTER JOIN endpoint AS endpoint_1 ON service.id = endpoint_1.service_id WHERE service.enabled = true


14

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


8

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


23

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


4

SELECT service_provider.id AS service_provider_id, service_provider.enabled AS service_provider_enabled, service_provider.description AS service_provider_description, service_provider.auth_url AS service_provider_auth_url, service_provider.sp_url AS service_provider_sp_url, service_provider.relay_state_prefix AS service_provider_relay_state_prefix FROM service_provider WHERE service_provider.enabled = true


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


9

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_role

<keystone.assignment.core.RoleManager object at 0x7ff335cbdf90>, u’3481c11394a64189bafc60551e1ee25c’

1

Memcache

get_project_by_name

<keystone.resource.core.Manager object at 0x7ff335d07e10>, u’admin’, ‘default’

1

Memcache

get_user_by_name

<keystone.identity.core.Manager object at 0x7ff336019d90>, u’admin’, ‘default’

1

Memcache

get_roles_for_user_and_project

<keystone.assignment.core.Manager object at 0x7ff335e09c10>, u’b4a6b5f09b9c4b57a582b16537f4a976’, u’1f093e18f4ab4318bdb2876a03d81811’

1

Memcache

get_project

<keystone.resource.core.Manager object at 0x7ff335d07e10>, u’1f093e18f4ab4318bdb2876a03d81811’

1

Memcache

get_domain

<keystone.resource.core.Manager object at 0x7ff335d07e10>, u’default’

2

6.11.1.1.4.6.6. User list request stats

Control plane request overlook

Metric

Value

Total (*) Keystone DB queries count

30

Total (*) Keystone DB queries time spent, ms

306

Infrastructure (SELECT 1) Keystone DB queries count

7

Infrastructure (SELECT 1) Keystone DB queries time spent, ms

70

Real Keystone DB queries count

23

Real Keystone DB queries time spent, ms

236

SELECT Keystone DB queries count

23

SELECT Keystone DB queries time spent, ms

236

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


14

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 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 federated_user ON anon_1.user_id = federated_user.user_id ORDER BY anon_1.user_id


23

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


21

SELECT service.id AS service_id, service.type AS service_type, service.enabled AS service_enabled, service.extra AS service_extra, endpoint_1.id AS endpoint_1_id, endpoint_1.legacy_endpoint_id AS endpoint_1_legacy_endpoint_id, endpoint_1.interface AS endpoint_1_interface, endpoint_1.region_id AS endpoint_1_region_id, endpoint_1.service_id AS endpoint_1_service_id, endpoint_1.url AS endpoint_1_url, endpoint_1.enabled AS endpoint_1_enabled, endpoint_1.extra AS endpoint_1_extra FROM service LEFT OUTER JOIN endpoint AS endpoint_1 ON service.id = endpoint_1.service_id WHERE service.enabled = true


14

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


8

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


23

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


4

SELECT service_provider.id AS service_provider_id, service_provider.enabled AS service_provider_enabled, service_provider.description AS service_provider_description, service_provider.auth_url AS service_provider_auth_url, service_provider.sp_url AS service_provider_sp_url, service_provider.relay_state_prefix AS service_provider_relay_state_prefix FROM service_provider WHERE service_provider.enabled = true


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


9

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_domain

<keystone.resource.core.Manager object at 0x7ff335d08e10>, u’default’

2

Memcache

get_project

<keystone.resource.core.Manager object at 0x7ff335d08e10>, ‘1f093e18f4ab4318bdb2876a03d81811’

1

Memcache

get_role

<keystone.assignment.core.RoleManager object at 0x7ff335cbdf90>, u’3481c11394a64189bafc60551e1ee25c’

3

Memcache

get_roles_for_user_and_project

<keystone.assignment.core.Manager object at 0x7ff335e09c10>, u’b4a6b5f09b9c4b57a582b16537f4a976’, u’1f093e18f4ab4318bdb2876a03d81811’

2

Memcache

get_project_by_name

<keystone.resource.core.Manager object at 0x7ff335d07e10>, u’admin’, ‘default’

2

Memcache

get_domain

<keystone.resource.core.Manager object at 0x7ff335d07e10>, u’default’

4

Memcache

get_user_by_name

<keystone.identity.core.Manager object at 0x7ff336019d90>, u’admin’, ‘default’

2

Memcache

_get_revoke_tree

<keystone.revoke.core.Manager object at 0x7ff335cdf790>,

1

Memcache

get_roles_for_user_and_project

<keystone.assignment.core.Manager object at 0x7ff335e09c10>, ‘b4a6b5f09b9c4b57a582b16537f4a976’, ‘1f093e18f4ab4318bdb2876a03d81811’

1

Memcache

get_project

<keystone.resource.core.Manager object at 0x7ff335d07e10>, u’1f093e18f4ab4318bdb2876a03d81811’

2

Memcache

get_user

<keystone.identity.core.Manager object at 0x7ff336019d90>, ‘b4a6b5f09b9c4b57a582b16537f4a976’

1