aboutsummaryrefslogtreecommitdiffstats
path: root/tests/performance/README.md
blob: 52613d2caef9fbbcdb60471eaa86a072329be617 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
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