Updated keystone authenticate user_story

Took runs by changing public_workers parameter from 1 to 4 in
keytone configuration file, which increases parallelism.

Change-Id: I21315f0a56124642ac58c237e47db0b315d9e490
This commit is contained in:
Neependra Khare 2014-07-17 14:14:37 +05:30
parent 991563de70
commit 502c987d3f
7 changed files with 39 additions and 1553 deletions

View File

@ -6,16 +6,18 @@ Authenticate users with keystone to get tokens.
Goal Goal
---- ----
- To get data about performance of token creation under different load. - To get data about performance of token creation under different load.
- To ensure that keystone under apache works better than the default setup that uses event-let. - To ensure that keystone with increased public_workers/admin_workers values
and under Apache works better than the default setup.
Summary Summary
------- -------
- As the concurrency increases, time to authenticate the user gets up. - As the concurrency increases, time to authenticate the user gets up.
- Running keystone inside apache gives 4x better performance for this setup. With - Keystone is CPU bound process and by default only one thread of keystone-all process get
the default configuration of keystone only single threaded process is launched, started. We can increase the parallelism by :-
which is bottlenecked on CPU. Running keystone inside apache enables us to 1. increasing public_workers/admin_workers values in keystone.conf file
get authentication done on multiple CPUs, which gives better performance. 2. running keystone inside Apache
- We configured Keystone with 4 public_workers and ran Keystone inside Apache. In both
cases we got upto 4x better performance as compared to default keystone configuration.
Setup Setup
----- -----
@ -33,7 +35,10 @@ Keystone - Commit#455d50e8ae360c2a7598a61d87d9d341e5d9d3ed
Keystone API - 2 Keystone API - 2
To run keystone inside apache - Added *APACHE_ENABLED_SERVICES=key* in localrc file while setting up OpenStack environment with devstack. To increase public_workers - Uncomment line with public_workers and set public_workers to 4. Then restart keystone service.
To run keystone inside Apache - Added *APACHE_ENABLED_SERVICES=key* in localrc file while setting up OpenStack environment with devstack.
Results Results
------- -------
@ -46,17 +51,15 @@ Results
| 'runner': {'concurrency': 4, 'times': 10000, 'type': 'constant'}} | 'runner': {'concurrency': 4, 'times': 10000, 'type': 'constant'}}
+--------+-----------+-----------+-----------+---------------+---------------+---------+-------+-----------------------+ +--------+-----------+-----------+-----------+---------------+---------------+---------+-------+-----------------------+--------------+
| action | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |apache enabled keystone| | action | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |apache enabled keystone|public_workers|
+--------+-----------+-----------+-----------+---------------+---------------+---------+-------+-----------------------+ +--------+-----------+-----------+-----------+---------------+---------------+---------+-------+-----------------------+--------------+
| total | 0.537 | 0.998 | 4.553 | 1.233 | 1.391 | 100.0% | 10000 | N | | total | 0.537 | 0.998 | 4.553 | 1.233 | 1.391 | 100.0% | 10000 | N | 1 |
+--------+-----------+-----------+-----------+---------------+---------------+---------+-------+-----------------------+ +--------+-----------+-----------+-----------+---------------+---------------+---------+-------+-----------------------+--------------+
| total | 0.208 | 0.299 | 3.228 | 0.437 | 0.485 | 100.0% | 10000 | Y | | total | 0.189 | 0.296 | 5.099 | 0.417 | 0.474 | 100.0% | 10000 | N | 4 |
+--------+-----------+-----------+-----------+---------------+---------------+---------+-------+-----------------------+ +--------+-----------+-----------+-----------+---------------+---------------+---------+-------+-----------------------+--------------+
| total | 0.208 | 0.299 | 3.228 | 0.437 | 0.485 | 100.0% | 10000 | Y | NA |
Graphs +--------+-----------+-----------+-----------+---------------+---------------+---------+-------+-----------------------+--------------+
- ./authenticate/times_10000_concurrency_4_apacheEnabledKeystone_N.html
- ./authenticate/times_10000_concurrency_4_apacheEnabledKeystone_Y.html
2. Concurrency = 16 2. Concurrency = 16
@ -66,17 +69,15 @@ Graphs
| 'users_per_tenant': 512}}, | 'users_per_tenant': 512}},
| 'runner': {'concurrency': 16, 'times': 10000, 'type': 'constant'}} | 'runner': {'concurrency': 16, 'times': 10000, 'type': 'constant'}}
+--------+-----------+-----------+-----------+---------------+---------------+---------+-------+-----------------------+ +--------+-----------+-----------+-----------+---------------+---------------+---------+-------+-----------------------+--------------+
| action | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |apache enabled keystone| | action | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |apache enabled keystone|public_workers|
+--------+-----------+-----------+-----------+---------------+---------------+---------+-------+-----------------------+ +--------+-----------+-----------+-----------+---------------+---------------+---------+-------+-----------------------+--------------+
| total | 1.036 | 3.905 | 11.254 | 5.258 | 5.700 | 100.0% | 10000 | N | | total | 1.036 | 3.905 | 11.254 | 5.258 | 5.700 | 100.0% | 10000 | N | 1 |
+--------+-----------+-----------+-----------+---------------+---------------+---------+-------+-----------------------+ +--------+-----------+-----------+-----------+---------------+---------------+---------+-------+-----------------------+--------------+
| total | 0.515 | 0.970 | 2.076 | 1.113 | 1.192 | 100.0% | 10000 | Y | | total | 0.187 | 1.012 | 5.894 | 1.61 | 1.856 | 100.0% | 10000 | N | 4 |
+--------+-----------+-----------+-----------+---------------+---------------+---------+-------+-----------------------+ +--------+-----------+-----------+-----------+---------------+---------------+---------+-------+-----------------------+--------------+
| total | 0.515 | 0.970 | 2.076 | 1.113 | 1.192 | 100.0% | 10000 | Y | NA |
Graphs +--------+-----------+-----------+-----------+---------------+---------------+---------+-------+-----------------------+--------------+
- ./authenticate/times_10000_concurrency_16_apacheEnabledKeystone_N.html
- ./authenticate/times_10000_concurrency_16_apacheEnabledKeystone_Y.html
3. Concurrency = 32 3. Concurrency = 32
@ -86,15 +87,12 @@ Graphs
| 'users_per_tenant': 512}}, | 'users_per_tenant': 512}},
| 'runner': {'concurrency': 32, 'times': 10000, 'type': 'constant'}} | 'runner': {'concurrency': 32, 'times': 10000, 'type': 'constant'}}
+--------+-----------+-----------+-----------+---------------+---------------+---------+-------+-----------------------+ +--------+-----------+-----------+-----------+---------------+---------------+---------+-------+-----------------------+--------------+
| action | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |apache enabled keystone| | action | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |apache enabled keystone|public_workers|
+--------+-----------+-----------+-----------+---------------+---------------+---------+-------+-----------------------+ +--------+-----------+-----------+-----------+---------------+---------------+---------+-------+-----------------------+--------------+
| total | 1.493 | 7.752 | 16.007 | 10.428 | 11.183 | 100.0% | 10000 | N | | total | 1.493 | 7.752 | 16.007 | 10.428 | 11.183 | 100.0% | 10000 | N | 1 |
+--------+-----------+-----------+-----------+---------------+---------------+---------+-------+-----------------------+ +--------+-----------+-----------+-----------+---------------+---------------+---------+-------+-----------------------+--------------+
| total | 1.115 | 1.986 | 6.224 | 2.133 | 2.244 | 100.0% | 10000 | Y | | total | 0.198 | 1.967 | 8.54 | 3.223 | 3.701 | 100.0% | 10000 | N | 4 |
+--------+-----------+-----------+-----------+---------------+---------------+---------+-------+-----------------------+ +--------+-----------+-----------+-----------+---------------+---------------+---------+-------+-----------------------+--------------+
| total | 1.115 | 1.986 | 6.224 | 2.133 | 2.244 | 100.0% | 10000 | Y | NA |
Graphs +--------+-----------+-----------+-----------+---------------+---------------+---------+-------+-----------------------+--------------+
- ./authenticate/times_10000_concurrency_32_apacheEnabledKeystone_N.html
- ./authenticate/times_10000_concurrency_32_apacheEnabledKeystone_Y.html