OpenStack Train : OpenStack Rally2019/10/29 |
|
OpenStack ベンチマークツール Rally をインストールします。
当例では以下のような環境を例に Rally をインストールします。
------------+---------------------------+---------------------------+------------
| | |
eth0|10.0.0.30 eth0|10.0.0.50 eth0|10.0.0.51
+-----------+-----------+ +-----------+-----------+ +-----------+-----------+
| [ Control Node ] | | [ Storage Node ] | | [ Compute Node ] |
| | | | | |
| MariaDB RabbitMQ | | Open_vSwitch | | Libvirt |
| Memcached httpd | | L2_Agent | | Nova_Compute |
| Keystone Glance | | L3_Agent | | Open_vSwitch |
| Nova_API Cinder_API | | Metadata_Agent | | L2_Agent |
| Neutron_Server | | Cinder_Volume | | |
| Metadata_Agent | | Heat_API | | |
| Rally | | Heat Engine | | |
+-----------------------+ +-----------------------+ +-----------------------+
|
| [1] | Rally 用のユーザーとデータベースを MariaDB に登録しておきます。 |
|
[root@dlp ~(keystone)]# mysql -u root -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 263 Server version: 10.3.10-MariaDB MariaDB Server Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
create database rally; Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]>
grant all privileges on rally.* to rally@'localhost' identified by 'password'; Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]>
grant all privileges on rally.* to rally@'%' identified by 'password'; Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]>
MariaDB [(none)]> flush privileges; Query OK, 0 rows affected (0.00 sec) exit Bye |
| [2] | Rally をインストールします。 |
|
[root@dlp ~(keystone)]# yum --enablerepo=centos-openstack-train,epel -y install openstack-rally openstack-rally-plugins python-fixtures
|
| [3] | Rally の基本設定です。 |
|
[root@dlp ~(keystone)]#
vi /etc/rally/rally.conf # 32行目:コメント解除して変更 log_file = rally.log
# 37行目:コメント解除して変更 log_dir = /var/log/rally
# 189行目:MariaDB 接続情報を追記
connection = mysql+pymysql://rally:password@10.0.0.30/rally
mkdir /var/log/rally [root@dlp ~(keystone)]# rally db create Creating database: mysql+pymysql://rally:password@10.0.0.30/rally Database created successfully |
| [4] | Rally がベンチマークタスクを実行できるよう認証情報を登録しておきます。 URL や ユーザー情報等は自身の環境に置き換えてください。 |
|
[root@dlp ~(keystone)]# rally deployment create --fromenv --name=my_cloud
+--------------------------------------+---------------------+----------+------------------+--------+
| uuid | created_at | name | status | active |
+--------------------------------------+---------------------+----------+------------------+--------+
| 9320b988-ad3b-4318-b683-80a28326a718 | 2019-10-29T01:13:25 | my_cloud | deploy->finished | |
+--------------------------------------+---------------------+----------+------------------+--------+
Using deployment: 9320b988-ad3b-4318-b683-80a28326a718
~/.rally/openrc was updated
HINTS:
* To use standard OpenStack clients, set up your env by running:
source ~/.rally/openrc
OpenStack clients are now configured, e.g run:
openstack image list
[root@dlp ~(keystone)]# source ~/.rally/openrc [root@dlp ~(keystone)]# rally deployment show my_cloud +--------------------------+----------+----------+-------------+-------------+---------------+ | auth_url | username | password | tenant_name | region_name | endpoint_type | +--------------------------+----------+----------+-------------+-------------+---------------+ | http://10.0.0.30:5000/v3 | admin | *** | admin | | None | +--------------------------+----------+----------+-------------+-------------+---------------+[root@dlp ~(keystone)]# rally deployment check -------------------------------------------------------------------------------- Platform openstack: -------------------------------------------------------------------------------- Available services: +-------------+----------------+-----------+ | Service | Service Type | Status | +-------------+----------------+-----------+ | __unknown__ | placement | Available | | cinder | volumev3 | Available | | cloud | cloudformation | Available | | designate | dns | Available | | glance | image | Available | | heat | orchestration | Available | | keystone | identity | Available | | neutron | network | Available | | nova | compute | Available | +-------------+----------------+-----------+ |
| [5] | Rally の利用方法です。 なお、下例で定義しているベンチマークシナリオのその他サンプルは下記サイトを参照ください。 ⇒ https://github.com/openstack/rally/blob/master/samples/tasks/scenarios/ |
|
# ベンチマークのシナリオを定義する # 例として インスタンスの作成/起動~削除までを行うシンプルなシナリオを定義 # [flavor] は登録済みの flavor 名を指定 # [image] は登録済みの image 名を指定
[root@dlp ~(keystone)]#
vi boot-and-delete.json
{
"NovaServers.boot_and_delete_server": [
{
"args": {
"flavor": {
"name": "m1.small"
},
"image": {
"name": "CentOS7"
},
"force_delete": false
},
"runner": {
"type": "constant",
"times": 10,
"concurrency": 2
},
"context": {}
}
]
}
# ベンチマークタスクを開始 [root@dlp ~(keystone)]# rally task start boot-and-delete.json
--------------------------------------------------------------------------------
Preparing input task
--------------------------------------------------------------------------------
Task is:
{
"NovaServers.boot_and_delete_server": [
{
"args": {
"flavor": {
"name": "m1.small"
},
"image": {
"name": "CentOS7"
},
"force_delete": false
},
"runner": {
"type": "constant",
"times": 10,
"concurrency": 2
},
"context": {}
}
]
}
Task syntax is correct :)
Running Rally version 2.0.0
--------------------------------------------------------------------------------
Task e5b40e84-c553-4351-b252-e95eac2f9ab4: started
--------------------------------------------------------------------------------
Running Task... This can take a while...
To track task status use:
rally task status
or
rally task detailed
.....
.....
--------------------------------------------------------------------------------
Task e5b40e84-c553-4351-b252-e95eac2f9ab4 has 0 error(s)
--------------------------------------------------------------------------------
+-----------------------------------------------------------------------------------------------------------------------+
| Response Times (sec) |
+--------------------+-----------+--------------+--------------+--------------+-----------+-----------+---------+-------+
| Action | Min (sec) | Median (sec) | 90%ile (sec) | 95%ile (sec) | Max (sec) | Avg (sec) | Success | Count |
+--------------------+-----------+--------------+--------------+--------------+-----------+-----------+---------+-------+
| nova.boot_server | 4.226 | 5.179 | 6.134 | 6.717 | 7.3 | 5.206 | 100.0% | 10 |
| nova.delete_server | 2.251 | 2.273 | 2.305 | 2.358 | 2.412 | 2.285 | 100.0% | 10 |
| total | 6.519 | 7.446 | 8.405 | 8.985 | 9.565 | 7.49 | 100.0% | 10 |
| -> duration | 5.519 | 6.446 | 7.405 | 7.985 | 8.565 | 6.49 | 100.0% | 10 |
| -> idle_duration | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 100.0% | 10 |
+--------------------+-----------+--------------+--------------+--------------+-----------+-----------+---------+-------+
Load duration: 37.5457
Full duration: 50.4424
HINTS:
* To plot HTML graphics with this data, run:
rally task report e5b40e84-c553-4351-b252-e95eac2f9ab4 --out output.html
* To generate a JUnit report, run:
rally task export e5b40e84-c553-4351-b252-e95eac2f9ab4 --type junit --to output.xml
* To get raw JSON output of task results, run:
rally task report e5b40e84-c553-4351-b252-e95eac2f9ab4 --json --out output.json
|
| [6] | タスク完了時に表示された HTML 出力コマンドを実行すると HTML ファイルが生成され、以下のようにベンチマーク結果がグラフで確認可能です。 |
|
|
| Sponsored Link |
|
|