Skip to content

Testing Orka 0.1.1 release

dimitriskel edited this page Feb 16, 2015 · 36 revisions

Introduction

The purpose of this page is to present a set of different aspects that refer to the the testing processes of the Orka system (v.0.1.1). The testing processes focus on the following categories:
  1. Performance and load testing
  2. User extensive testing
In the next sections there is the overview of the testing activities that have been performed, by aiming to extract basic conclusions with respect to the performance of the system, as well as its operational capabilities.

Performance and load testing

About the tool

In terms of 'Performance and load testing', the technical team used the siege tool (v3.0.9), that constitutes an open source stress / regression test and benchmark utility. The tool is available, for free, online at http://www.joedog.org/siege-home/ .
Siege commands

`siege --help`
`SIEGE 3.0.9`
    `Usage: siege [options]`
        ` siege [options] URL`
        ` siege -g URL`
    `Options:`
    ` -V, --version VERSION, prints the version number.`
    ` -h, --help HELP, prints this section.`
    ` -C, --config CONFIGURATION, show the current config.`
    ` -v, --verbose VERBOSE, prints notification to screen.`
    ` -q, --quiet QUIET turns verbose off and suppresses output.`
    ` -g, --get GET, pull down HTTP headers and display the`
                ` transaction. Great for application debugging.`
    ` -c, --concurrent=NUM CONCURRENT users, default is 10`
    ` -i, --internet INTERNET user simulation, hits URLs randomly.`
    ` -b, --benchmark BENCHMARK: no delays between requests.`
    ` -t, --time=NUMm TIMED testing where "m" is modifier S, M, or H`
                ` ex: --time=1H, one hour test.`
    ` -r, --reps=NUM REPS, number of times to run the test.`
    ` -f, --file=FILE FILE, select a specific URLS FILE.`
    ` -R, --rc=FILE RC, specify an siegerc file`
    ` -l, --log[=FILE] LOG to FILE. If FILE is not specified, the`
                ` default is used: PREFIX/var/siege.log`
    ` -m, --mark="text" MARK, mark the log file with a string.`
    ` -d, --delay=NUM Time DELAY, random delay before each reqeust`
                ` between 1 and NUM. (NOT COUNTED IN STATS)`
    ` -H, --header="text" Add a header to request (can be many)`
    ` -A, --user-agent="text" Sets User-Agent in request`
    ` -T, --content-type="text" Sets Content-Type in request`

Regarding the analysis of the results, there is the corresponding wikipage @ https://github.com/grnet/e-science/wiki/Siege-Tool:-results-interpretation , which presents in detail the meaning of each result, by helping the user to interpret the results.

Setup of tests & configurations

The test can be performed since the siege tool has been setup successfully on a Unix environment. In our case the tool has been installed on Debian OS. We performed a set of performance and load tests on the following endpoints:
- Nginx server @ http://83.212.119.180
The tests elaborate the following aspects:
Nginx server
-- Performance & Load
--- [Transaction rate (trans/sec)] - [#Concurrent requests / sec]
--- [Response time (sec)] - [#Concurrent requests / sec]
--- [#Successful transactions] - [#Concurrent requests / sec]
--- [#Failed transactions] - [#Concurrent requests / sec]
uWSGI
Regarding the uWSGI there was no particular test for now, since we have to setup some dummy endpoints that will implement a set of back-end operations. Through these operations it will be able to perform particular performance and load test by using siege tool.