OpenStack Rally 性能測試

注意點:在測試nova,在配置文件裏面如果不指定網絡id,那麼默認是外網的網絡(該網絡是共享的),如果想要指定網絡,那麼該網絡必須是共享的狀態,否則將會報錯:無法發現網絡。如果測試多於50臺的虛擬機需要修改默認值,因爲默認值是有限制的可用如下命令查看:

[root@rally nova]# nova absolute-limits   
+-------------------------+---------+
| Name                    | Value   |
+-------------------------+---------+
| maxServerMeta           | 128     |
| maxPersonality          | 100     |
| maxImageMeta            | 128     |
| maxPersonalitySize      | 10240   |
| maxTotalRAMSize         | 5120000 |
| maxSecurityGroupRules   | 20      |
| maxTotalKeypairs        | 100     |
| totalRAMUsed            | 58960   |
| maxSecurityGroups       | 10      |
| totalFloatingIpsUsed    | 0       |
| totalInstancesUsed      | 24      |
| totalSecurityGroupsUsed | 1       |
| maxTotalFloatingIps     | 10      |
| maxTotalInstances       | 200     |
| totalCoresUsed          | 51      |
| maxTotalCores           | 500     |
+-------------------------+---------+

修改默認值可以在界面,管理員->默認值,進行修改;其次可以在運行nova-api服務的節點上修改配置文件nova.conf

安裝rally:

[root@rally nova]#git clone https://github.com/stackforge/rally.git
[root@rally rally]# /usr/bin/easy_install pip (安裝pip,有就不需要裝了)
[root@rally rally]# mkdir /root/.pip

[root@rally rally]# vim /root/.pip/pip.conf  (設置pip源,加快安裝速度)
[global]
[root@rally nova]#pip install -U virtualenv 安裝虛擬環境(可裝可不裝,一般爲了系統的乾淨還是裝個虛擬環境)
[root@rally nova]#virtualenv .venv
[root@rally nova]#. .venv/bin/activate
[root@rally nova]#yum install gcc-c++      (安裝編譯工具)
[root@rally nova]#cd rally
[root@rally rally]#./install_rally.sh
....

======================================================================
Information about your Rally installation:
* Method: system
* Database at: /var/lib/rally/database
* Configuration file at: /etc/rally
======================================================================

安裝完成,數據庫的配置這裏暫時沒做。

 創建一個隨便命名的.json格式文件:

[root@rally rally]# : :

[root@rally rally]# rally deployment create --file=existing.json --name=existing           
+--------------------------------------+----------------------------+----------+------------------+--------+
| uuid | created_at | name | status | active |
+--------------------------------------+----------------------------+----------+------------------+--------+
| 15ef811a-6460-407c-b391-c0f435f1ae54 | 2015-03-05 10:09:36.468176 | existing | deploy->finished | |
+--------------------------------------+----------------------------+----------+------------------+--------+
Using deployment: 15ef811a-6460-407c-b391-c0f435f1ae54


[root@rally rally]# rally deployment check
keystone endpoints are valid and following services are available:
+------------+-----------+-----------+
| services | type | status |
+------------+-----------+-----------+
| ceilometer | metering | Available |
| cinder     | volume   | Available |
| cinderv2   | volumev2 | Available |
| glance     | image    | Available |
| keystone   | identity | Available |
| neutron    | network  | Available |
| nova       | compute  | Available |
| nova_ec2   | ec2      | Available |
| novav3     | computev3 | Available |
+------------+-----------+-----------+

如此便可繼續往下進行OpenStack基準測試了。

 

舉個測試啓動虛擬機的例子:boot.json文件內容如下:

doc/samples/tasks/scenarios/nova/boot.json

[root@rally nova]# cat boot.json 
{    
    "NovaServers.boot_server": [
        {
            "args": {
            "flavor": {
                "name": "m1.large"
                },               
            "image": {                    
                "name": "Windows_Server_2008R2_SP1_Standard_64bit"
                },                
            "nics":[{"net-id": "c7048568-c966-4d57-a927-90dd8830fb96"}],(默認是沒有這行的)
            },            
            "runner": {               
                 "type": "constant",                
                 "times": 100,                     (測試次數100)                        "concurrency": 2                 (併發數)
            },            
            "context": {               
                 "users": {                   
                      "tenants": 3,                
                    "users_per_tenant": 2
                }
            }
        }
    ]
}
[root@rally nova]# . /root/rally/.venv/bin/activate
[root@rally nova]# rally -v task start boot.json(/root/rally/doc/samples/tasks/scenarios/nova這是當前的目錄)

以上的圖是測試結果。

相關鏈接:https://wiki.openstack.org/wiki/Rally

https://rally.readthedocs.org/en/latest/tutorial/step_0_installation.html

https://rally.readthedocs.org/en/latest/tutorial/step_1_setting_up_env_and_running_benchmark_from_samples.html

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章