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

6.2 KiB

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

  1. Concurrency = 16
{'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

  1. Concurrency = 32
{'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