Skip to content

OSIS Initial Performance Analysis

Sai Tharun Thodupunuru edited this page Aug 30, 2021 · 31 revisions

Objective

Checking the performance behavior of the OSIS service on scality cloud. As OSIS is not configured through NGINX, only one node will be configured in vCloudDirector.

  • Tenant Flow: Query/Create/List Tenant

  • User Flow: Query/Get/Create/List User

  • Credential Flow: Query/Get/Create/List Credentials

Test Cases:

  • Base Case:

    • Simple flow → Query/Create/List Tenant, Query/Get/Create/List User, Query/Get/Create/List Credentials
  • Medium load:

    • 1 client (threads)

      • (loop count) 100 x Tenant Flow, User Flow, Credential Flow

      • (loop count) 1000 x Tenant Flow, User Flow, Credential Flow

      • (loop count) 10000 x Tenant Flow, User Flow, Credential Flow

    • 2 clients (threads)

      • (loop count) 100 x Tenant Flow, User Flow, Credential Flow

      • (loop count) 1000 x Tenant Flow, User Flow, Credential Flow

      • (loop count) 10000 x Tenant Flow, User Flow, Credential Flow

    • 4 clients (threads)

      • (loop count) 100 x Tenant Flow, User Flow, Credential Flow

      • (loop count) 1000 x Tenant Flow, User Flow, Credential Flow

      • (loop count) 10000 x Tenant Flow, User Flow, Credential Flow

  • Ramp Up test - Stress failure test

    • Tenant Flow, User Flow, Credential Flow
Clients (threads) Loop Count(number of times to execute the test per thread) Rampup time: (Ramp-Up Period tells JMeter how long to delay before starting the next user) (in seconds)
128 10 300
256 10 300
512 10 300
128 10 600
256 10 600
512 10 600

Metrics to capture:

  • Elapsed time: Measures the elapsed time from just before sending the request to just after the last chunk of the response has been received,

  • Latency: Measures the latency from just before sending the request to just after the first chunk of the response has been received,

  • Median: Number which divides the samples into two equal halves,

  • 90% Line (90th Percentile): The elapsed time below which 90% of the samples fall

  • 95% Line (95th Percentile): The elapsed time below which 95% of the samples fall

  • Throughput: Calculated as requests/unit of time. The time is calculated from the start of the first sample to the end of the last sample. The formula is: Throughput = (number of requests) / (total time).

Storage Node metrics using RING grafana dashboards(http:///stats/):

  • Docker Image size

  • RAM/CPU/Disk usage

  • Report numbers to Product for tooling adjustments.

Test Results

Base Case:

Simple flow → Query/Create/List Tenant, Query/Get/Create/List User, Query/Get/Create/List Credentials

Service # Samples Average Median 90% Line 95% Line 99% Line Min Max Error % Throughput
Create Tenant 1 1095 1095 1095 1095 1095 1095 1095 0.000% 0.91324
List Tenants 1 204 204 204 204 204 204 204 0.000% 4.90196
Query Tenants 1 205 205 205 205 205 205 205 0.000% 4.87805
Create User 1 1432 1432 1432 1432 1432 1432 1432 0.000% 0.69832
List Users 1 292 292 292 292 292 292 292 0.000% 3.42466
Query Users 1 266 266 266 266 266 266 266 0.000% 3.75940
Get User 1 236 236 236 236 236 236 236 0.000% 4.23729
Create Credential 1 281 281 281 281 281 281 281 0.000% 3.55872
List Credentials 1 319 319 319 319 319 319 319 0.000% 3.13480
Query Credentials 1 278 278 278 278 278 278 278 0.000% 3.59712
Get Credential 1 237 237 237 237 237 237 237 0.000% 4.21941
TOTAL 11 440 278 1095 1095 1432 204 1432 0.000% 2.23532
Clone this wiki locally