aboutsummaryrefslogtreecommitdiffstats
path: root/tests/performance/README.md
blob: fcb80589bb715fcdce82a4a6b9690a93721af4e0 (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
70
71
72
73
74
75
76
77
78
79
80
# Moon Yardstick/Bottlenecks Performance Tests

The main objective of this document is to describe the performance tests for the Moon project/module. 
Moon is a security management platform which provides a set of security functions to project the underlying OPNFV infrastructure and/or VNFs. 
It 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 information for its local usage from master. 

## Master Performance Tests
### Pre-requisite
- setup a Moon master service on a physical server 
- create a project in OpenStack/Keystone
- create a MSL PDP with a model of 4 subject security levels and 4 object security levels, the MLS policy will be defined later

### Policy Size Test
Increase the number of users and resources N to find the limit of the security policy
- create N users and N resources (VMs in our case) in this MLS security policy
- sends 5 authz requests/second
- gather performance metrics like CPU, memory, network usages
Through the iteration, determine the maximal number of N to support 5 requests/second 
  
### PDP Number Test  
- setup 20 user and 20 resources (VMs in our case) for each MLS PDP
- sends 5 authz requests/second for each MLS PDP
- increase the number of PDP to test the maximal number of PDP on the master
  
### Policy Size Test for 5 PDPs
- setup 5 PDPs of N users and N resources (VMs in our case)
- sends 5 authz requests/second for each MLS PDP
- gather performance metrics like CPU, memory, network usages
Through the iteration, determine the maximal user/resource number of these 5 PDPs

### Policy Size Test for 10 PDPs
- setup 10 PDPs of N users and N resources (VMs in our case)
- sends 5 authz requests/second for each MLS PDP
- gather performance metrics like CPU, memory, network usages
Through the iteration, determine the maximal user/resource number of these 10 PDPs

### Policy Size Test for 20 PDPs
- setup 20 PDPs of N users and N resources (VMs in our case)
- sends 5 authz requests/second for each MLS PDP
- gather performance metrics like CPU, memory, network usages
Through the iteration, determine the maximal user/resource number of these 20 PDPs


## Master-Slave Performance Tests
### Pre-requisite
- setup a Moon master on a physical server 
- setup a Moon slave on a physical server 
- create a project in OpenStack/Keystone
- create a MSL PDP with a model of 4 subject security levels and 4 object security levels, the MLS policy will be defined later on the master

### Slave Policy Size Test
Increase the number of users and resources N to find the limit of the security policy
- create N users and N resources (VMs in our case) in this MLS security policy on the master
- sends 5 authz requests/second to the slave
- gather performance metrics like CPU, memory, network usages of the slave
Through the iteration, determine the maximal number of N to support 5 requests/second of the slave 

### Slave PDP Number Test  
- setup 20 user and 20 resources (VMs in our case) for each MLS PDP on the master
- sends 5 authz requests/second for each MLS PDP to the slave
Through the iteration, determine the maximal number of PDP to support 5 requests/second of the slave

### Slave Policy Size Test for 5 PDPs
- setup 5 PDPs of N users and N resources (VMs in our case) on the master
- sends 5 authz requests/second for each MLS PDP to the slave
- gather performance metrics like CPU, memory, network usages of the slave
Through the iteration, determine the maximal user/resource number of these 5 PDPs

### Slave Policy Size Test for 10 PDPs
- setup 10 PDPs of N users and N resources (VMs in our case) on the master
- sends 5 authz requests/second for each MLS PDP to the slave
- gather performance metrics like CPU, memory, network usages of the slave
Through the iteration, determine the maximal user/resource number of these 10 PDPs

### Slave Policy Size Test for 20 PDPs
- setup 20 PDPs of N users and N resources (VMs in our case) on the master
- sends 5 authz requests/second for each MLS PDP to the slave
- gather performance metrics like CPU, memory, network usages of the slave
Through the iteration, determine the maximal user/resource number of these 20 PDPs