rally-openstack/doc/user_stories/keystone/authenticate.rst
Mikhail Dubov 30b1ad593f Restructure Rally docs
Modify Rally docs (for readthedocs), sticking to the following principles:
* Make the docs structure as simple as possible:
    1. Overview
    2. Install Rally
    3. Rally step-by-step
    4. User stories
    5. Plugins
    6. Contribute to Rally
    7. Rally OS Gates
    8. Request a New Feature
    9. Project Info
* Keep in mind what questions different target groups usually have about Rally.
  The new structure relates to these groups as follows:
    1 -> Managers
    2, 3, 4 -> QA
    5, 6, 7, 8, 9 -> QA & Developers
* Make each docs page to be easy to get through;
* Prefer pictures over text;
* Use hyperlinks to easily navigate from page to page;
* Fix incorrect English & typos.

Also add a sample for SLA plugins.

Change-Id: I720d87be851c273689a21aaba87fc67eacf0f161
2015-01-20 00:27:30 +03:00

108 lines
6.2 KiB
ReStructuredText

===================================================================================
4x performance increase in Keysone inside Apache using the token creation benchmark
===================================================================================
*(Contributed by Neependra Khare, Red Hat)*
Below we describe how we were able to get and verify a 4x better performance of Keysone inside Apache. To do that, we ran a Keystone token creation benchmark with Rally under different load (this benchmark scenario essentially just authenticates users with keystone to get tokens).
Goal
----
- Get the data about performance of token creation under different load.
- 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.
- 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
-----
Server : Dell PowerEdge R610
CPU make and model : Intel(R) Xeon(R) CPU X5650 @ 2.67GHz
CPU count: 24
RAM : 48 GB
Devstack - Commit#d65f7a2858fb047b20470e8fa62ddaede2787a85
Keystone - Commit#455d50e8ae360c2a7598a61d87d9d341e5d9d3ed
Keystone API - 2
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
-------
1. Concurrency = 4
.. code-block:: none
{'context': {'users': {'concurrent': 30,
'tenants': 12,
'users_per_tenant': 512}},
'runner': {'concurrency': 4, 'times': 10000, 'type': 'constant'}}
+--------+-----------+-----------+-----------+---------------+---------------+---------+-------+-----------------------+--------------+
| 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
.. code-block:: none
{'context': {'users': {'concurrent': 30,
'tenants': 12,
'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|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
.. code-block:: none
{'context': {'users': {'concurrent': 30,
'tenants': 12,
'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|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 |
+--------+-----------+-----------+-----------+---------------+---------------+---------+-------+-----------------------+--------------+