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
----
- 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
-------
- As the concurrency increases, time to authenticate the user gets up.
- Running keystone inside apache gives 4x better performance for this setup. With
the default configuration of keystone only single threaded process is launched,
which is bottlenecked on CPU. Running keystone inside apache enables us to
get authentication done on multiple CPUs, which gives better performance.
- Keystone is CPU bound process and by default only one thread of keystone-all process get
started. We can increase the parallelism by :-
1. increasing public_workers/admin_workers values in keystone.conf file
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
-----
@ -33,7 +35,10 @@ Keystone - Commit#455d50e8ae360c2a7598a61d87d9d341e5d9d3ed
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
-------
@ -46,17 +51,15 @@ Results
| 'runner': {'concurrency': 4, 'times': 10000, 'type': 'constant'}}
+--------+-----------+-----------+-----------+---------------+---------------+---------+-------+-----------------------+
| action | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |apache enabled keystone|
+--------+-----------+-----------+-----------+---------------+---------------+---------+-------+-----------------------+
| total | 0.537 | 0.998 | 4.553 | 1.233 | 1.391 | 100.0% | 10000 | N |
+--------+-----------+-----------+-----------+---------------+---------------+---------+-------+-----------------------+
| total | 0.208 | 0.299 | 3.228 | 0.437 | 0.485 | 100.0% | 10000 | Y |
+--------+-----------+-----------+-----------+---------------+---------------+---------+-------+-----------------------+
Graphs
- ./authenticate/times_10000_concurrency_4_apacheEnabledKeystone_N.html
- ./authenticate/times_10000_concurrency_4_apacheEnabledKeystone_Y.html
+--------+-----------+-----------+-----------+---------------+---------------+---------+-------+-----------------------+--------------+
| 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 | 1 |
+--------+-----------+-----------+-----------+---------------+---------------+---------+-------+-----------------------+--------------+
| 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 |
+--------+-----------+-----------+-----------+---------------+---------------+---------+-------+-----------------------+--------------+
2. Concurrency = 16
@ -66,17 +69,15 @@ Graphs
| 'users_per_tenant': 512}},
| 'runner': {'concurrency': 16, 'times': 10000, 'type': 'constant'}}
+--------+-----------+-----------+-----------+---------------+---------------+---------+-------+-----------------------+
| action | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |apache enabled keystone|
+--------+-----------+-----------+-----------+---------------+---------------+---------+-------+-----------------------+
| total | 1.036 | 3.905 | 11.254 | 5.258 | 5.700 | 100.0% | 10000 | N |
+--------+-----------+-----------+-----------+---------------+---------------+---------+-------+-----------------------+
| total | 0.515 | 0.970 | 2.076 | 1.113 | 1.192 | 100.0% | 10000 | Y |
+--------+-----------+-----------+-----------+---------------+---------------+---------+-------+-----------------------+
Graphs
- ./authenticate/times_10000_concurrency_16_apacheEnabledKeystone_N.html
- ./authenticate/times_10000_concurrency_16_apacheEnabledKeystone_Y.html
+--------+-----------+-----------+-----------+---------------+---------------+---------+-------+-----------------------+--------------+
| 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 | 1 |
+--------+-----------+-----------+-----------+---------------+---------------+---------+-------+-----------------------+--------------+
| 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 |
+--------+-----------+-----------+-----------+---------------+---------------+---------+-------+-----------------------+--------------+
3. Concurrency = 32
@ -86,15 +87,12 @@ Graphs
| 'users_per_tenant': 512}},
| 'runner': {'concurrency': 32, 'times': 10000, 'type': 'constant'}}
+--------+-----------+-----------+-----------+---------------+---------------+---------+-------+-----------------------+
| action | min (sec) | avg (sec) | max (sec) | 90 percentile | 95 percentile | success | count |apache enabled keystone|
+--------+-----------+-----------+-----------+---------------+---------------+---------+-------+-----------------------+
| total | 1.493 | 7.752 | 16.007 | 10.428 | 11.183 | 100.0% | 10000 | N |
+--------+-----------+-----------+-----------+---------------+---------------+---------+-------+-----------------------+
| total | 1.115 | 1.986 | 6.224 | 2.133 | 2.244 | 100.0% | 10000 | Y |
+--------+-----------+-----------+-----------+---------------+---------------+---------+-------+-----------------------+
Graphs
- ./authenticate/times_10000_concurrency_32_apacheEnabledKeystone_N.html
- ./authenticate/times_10000_concurrency_32_apacheEnabledKeystone_Y.html
+--------+-----------+-----------+-----------+---------------+---------------+---------+-------+-----------------------+--------------+
| 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 | 1 |
+--------+-----------+-----------+-----------+---------------+---------------+---------+-------+-----------------------+--------------+
| 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 |
+--------+-----------+-----------+-----------+---------------+---------------+---------+-------+-----------------------+--------------+