OpenStack Ussuri : OpenStack Rally2020/06/10 |
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 295 Server version: 10.3.17-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)]> flush privileges; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> exit Bye |
[2] | Rally をインストールします。 |
[root@dlp ~(keystone)]# dnf --enablerepo=centos-openstack-ussuri,powertools,epel -y install openstack-rally openstack-rally-plugins python3-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 や ユーザー情報等は自身の環境に置き換えてください。 Ussuri バージョンの [rally] コマンドでは多数の Python の Warnings が表示されますが、とりあえずのところ、動作に影響はありません。 |
[root@dlp ~(keystone)]# rally deployment create --fromenv --name=my_cloud +--------------------------------------+---------------------+----------+------------------+--------+ | uuid | created_at | name | status | active | +--------------------------------------+---------------------+----------+------------------+--------+ | 6f16a93c-4fdc-4dd1-8fdf-0fa1c00496a1 | 2020-06-10T05:52:27 | my_cloud | deploy->finished | | +--------------------------------------+---------------------+----------+------------------+--------+ Using deployment: 6f16a93c-4fdc-4dd1-8fdf-0fa1c00496a1 ~/.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 | | barbican | key-manager | 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": "CentOS8" }, "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 3.0.0 -------------------------------------------------------------------------------- Task 26292ff8-b64e-4c3e-bab0-40ef47ee7412: started -------------------------------------------------------------------------------- ..... ..... -------------------------------------------------------------------------------- Task 4225c1b0-67f3-49d5-8387-e300a8cba78f 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.077 | 4.727 | 5.483 | 5.56 | 5.637 | 4.777 | 100.0% | 10 | | nova.delete_server | 2.26 | 2.268 | 2.476 | 2.477 | 2.477 | 2.326 | 100.0% | 10 | | total | 6.345 | 6.997 | 7.781 | 7.928 | 8.074 | 7.103 | 100.0% | 10 | | -> duration | 5.345 | 5.997 | 6.781 | 6.928 | 7.074 | 6.103 | 100.0% | 10 | | -> idle_duration | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 100.0% | 10 | +--------------------+-----------+--------------+--------------+--------------+-----------+-----------+---------+-------+ Load duration: 35.4024 Full duration: 47.9384 HINTS: * To plot HTML graphics with this data, run: rally task report 4225c1b0-67f3-49d5-8387-e300a8cba78f --out output.html * To generate a JUnit report, run: rally task export 4225c1b0-67f3-49d5-8387-e300a8cba78f --type junit-xml --to output.xml * To get raw JSON output of task results, run: rally task report 4225c1b0-67f3-49d5-8387-e300a8cba78f --json --out output.json |
[6] | タスク完了時に表示された HTML 出力コマンドを実行すると HTML ファイルが生成され、以下のようにベンチマーク結果がグラフで確認可能です。 |
Sponsored Link |