diff options
-rw-r--r-- | moonv4/tests/performance/README.md | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/moonv4/tests/performance/README.md b/moonv4/tests/performance/README.md new file mode 100644 index 00000000..52613d2c --- /dev/null +++ b/moonv4/tests/performance/README.md @@ -0,0 +1,69 @@ +# Moon Yardstick and Bottlenecks Performance Tests + +The main objective of this document is to describe the performance tests for the Moon project/module. +Moon is a security managment platform which provides a set of security functions to project the underlying OPNFV infrastructure and/or VNFs. +Moon is consisted of 2 parts: a master and a set of slaves. The master holds all security-related information and each slave only fetches and holds +related informations for its local usage from master. + +## Moon Master Performance Tests +In this test, we should: +- setup a Moon master service on a physical server +- create a tenant/scope through the Moon master service +- create a MSL security policy with 4 subject security levels and 4 object security levels for this tenant + +- increase N to find the limit of the security policy (implemented in format of a Docker) + - create N users and N resources (VMs in our case) in this tenant + - simulate 2 operation requests per user per second to Moon's authorization endpoint + - gather performance metrics like CPU, memory, network usages + - throught the iteration, determine the capacity limit for one Docker + +- setup 20 user and 20 resources (VMs in our case) for one tenant + - increase the number of tenants to test the maximal number of tenants on the server + +- setup 5 tenants of N users and N resources (VMs in our case) in each tenant + - increase N by simulating 2 operation requests per user per second to the Moon's authorization endpoint + - gather performance metrics like CPU, memory, network usages + - throught the iteration, dermine the maximal user/resource number of these 5 tenants/Dockers on the server + +- setup 10 tenants of N users and N resources (VMs in our case) in each tenant + - increase N by simulating 2 operation requests per user per second to the Moon's authorization endpoint + - gather performance metrics like CPU, memory, network usages + - throught the iteration, dermine the maximal user/resource number of these 10 tenants/Dockers on the server + +- setup 20 tenants of N users and N resources (VMs in our case) in each tenant + - increase N by simulating 2 operation requests per user per second to the Moon's authorization endpoint + - gather performance metrics like CPU, memory, network usages + - throught the iteration, dermine the maximal user/resource number of these 20 tenants/Dockers on the server + +## Moon Slave Performace Tests +In this test, we should: +- setup a Moon master service on a physical server +- setup a Moon slave service on a physical server +- create a tenant/scope through the Moon master service +- create a MSL security policy with 4 subject security levels and 4 object security levels for this tenant through the Moon master service + +- increase N to find the limit of the security policy (implemented in format of a Docker) + - create N users and N resources (VMs in our case) in this tenant + - simulate 2 operation requests per user per second to Moon slave's authorizatoin endpoint + - gather performance metrics like CPU, memory, network usages of Moon slave + - throught the iteration, dermine the capacity limit for one Docker of Moon slave + +- setup 20 user and 20 resources (VMs in our case) for one tenant through the Moon slave service + - increate the number of tenants to test the maximal number of tenants on the server of the Moon slave + +- setup 5 tenants of N users and N resources (VMs in our case) in each tenant through the Moon master service + - increate N by simulating 2 operation requests per user per second to the Moon slave's authorization endpoint + - gather performance metrics like CPU, memory, network usages of both Moon master and Moon slave + - throught the iteration, dermine the maximal user/resource number of these 5 tenants/Dockers on the server of Moon slave + +- setup 10 tenants of N users and N resources (VMs in our case) in each tenant through the Moon master service + - increate N by simulating 2 operation requests per user per second to the Moon slave's authorization endpoint + - gather performance metrics like CPU, memory, network usages of both Moon master and slave + - throught the iteration, dermine the maximal user/resource number of these 10 tenants/Dockers on the server of the Moon slave + +- setup 20 tenants of N users and N resources (VMs in our case) in each tenant through the Moon master service + - increate N by simulating 2 operation requests per user per second to the Moon slave's authorization endpoint + - gather performance metrics like CPU, memory, network usages of both Moon master and slave + - throught the iteration, dermine the maximal user/resource number of these 20 tenants/Dockers on the server of the Moon slave + + |