Rally 簡介
Rally 集成了部署、API測試、壓力測試功能(如下圖),但我們一般用 devstack 部署,tempest 做 API 測試,因此 Rally 常用於模擬高併發場景的壓力測試。Rally 測試 openstack 在併發下 API 的相應時間和請求成功率,從而測試出 openstack 規模和性能。
1. Deploy Rally
$ ./rally/install_rally.sh -v
#使用 virtualenv 安裝 Rally
2. Configure Rally
$ source /opt/rally/bin/activate
$ rally deployment create --filename=existing.json
--name=openstack # 初始化 Rally,把所需測試 openstack 集羣的 keystone url,用戶租戶信息寫入到 existing.json 中
$ rally deployment check # 查看集羣的 service
$ rally deployment check # 查看集羣的 service
(rally)[root@controller
~] # rally deployment check keystone endpoints
are valid and following services are available: +------------+----------------+-----------+ | services | type |
status | +------------+----------------+-----------+ | ceilometer | metering
| Available | | cinder | volume
| Available | | cinderv2 | volumev2
| Available | | ec2 | ec2
| Available | | glance | image
| Available | | heat | cloudformation
| Available | | heat | orchestration
| Available | | keystone | identity
| Available | | neutron | network
| Available | | nova | compute
| Available | | novav3 | computev3
| Available | | s3 | s3
| Available | | trove | database
| Available | +------------+----------------+-----------+ |
3. Benchmark Openstack Peformance
rally/doc/samples/tasks/scenarios/ 包含各個組件的配置文件,直接使用即可,舉例:
1)測試 keystone 創建-刪除用戶性能
$ rally -v task start rally/doc/samples/tasks/scenarios/keystone/create-and-delete-user.json
Result:
2)測試 nova 創建-刪除虛擬機性能
$ rally -v task start rally/doc/samples/tasks/scenarios/nova/boot-and-delete.json
Result:
4. Refference
https://wiki.openstack.org/wiki/Rally
http://prajnagarden.com/openstack/2014/05/06/rally-guide-01/