Doc format/typo/link fixes
Change-Id: I71c054bd3901d6de9b84f312f66b9a835f043304
This commit is contained in:
parent
6f1b2502d4
commit
4d6a73e92f
20
README.rst
20
README.rst
@ -2,24 +2,24 @@
|
||||
KloudBuster version 6
|
||||
=====================
|
||||
|
||||
How good is your OpenStack *data plane* or *storage service* under real heavy load?
|
||||
How good is your OpenStack **data plane** or **storage service** under real
|
||||
heavy load?
|
||||
|
||||
KloudBuster is a tool that can load the data plane or storage infrastructure of any OpenStack
|
||||
cloud at massive scale and measure how well the cloud behaves under load
|
||||
where it matters: from the VMs standpoint, where cloud applications run.
|
||||
KloudBuster is a tool that can load the data plane or storage infrastructure of
|
||||
any OpenStack cloud at massive scale and measure how well the cloud behaves
|
||||
under load where it matters: from the VMs standpoint, where cloud applications
|
||||
run.
|
||||
|
||||
Accessible to anybody with basic knowledge of OpenStack, installs in minutes and runs
|
||||
off the box with sensible default workloads in a fully automated way.
|
||||
Accessible to anybody with basic knowledge of OpenStack, installs in minutes
|
||||
and runs off the box with sensible default workloads in a fully automated way.
|
||||
CLI/REST or Web User Interface.. you pick what works best for you.
|
||||
|
||||
Read the full documentation with feature list, snapshots and diagrams,
|
||||
scale test design, how-to and installation instructions:
|
||||
|
||||
Read the full documentation with feature list, snapshots and diagrams, scale
|
||||
test design, how-to and installation instructions:
|
||||
|
||||
`KloudBuster Documentation <http://kloudbuster.readthedocs.org>`_
|
||||
|
||||
|
||||
|
||||
Licensing
|
||||
---------
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
.. _arch:
|
||||
|
||||
KloudBuster Architecture
|
||||
========================
|
||||
Architecture
|
||||
============
|
||||
|
||||
Data Plane Scale Test
|
||||
+++++++++++++++++++++
|
||||
@ -109,14 +109,12 @@ widely adopted open source storage test client).
|
||||
.. image:: images/kb-storage.png
|
||||
|
||||
VM staging, storage plumbing (using Cinder or Nova for ephemeral disks) is done
|
||||
by the KloudBuster app using OpenStack APIs.
|
||||
Because the Cinder API abstracts the storage back-end, it is agnostic of
|
||||
the technology used (Ceph, EMC...).
|
||||
by the KloudBuster app using OpenStack APIs. Because the Cinder API abstracts
|
||||
the storage back-end, it is agnostic of the technology used (Ceph, EMC...).
|
||||
After the test, all resources (volumes, VMs, network, router) are cleaned up in
|
||||
the proper order.
|
||||
|
||||
|
||||
|
||||
Progression Runs
|
||||
++++++++++++++++
|
||||
|
||||
|
@ -1,44 +1,44 @@
|
||||
|
||||
.. _gallery:
|
||||
|
||||
|
||||
Gallery
|
||||
=======
|
||||
|
||||
This page has links to examples of scale test reports in HTML format generated by KloudBuster.
|
||||
These reports were generated within minutes after starting the scale test from a
|
||||
bare bone OpenStack cloud (not running anything).
|
||||
Click on the thumbnail images to view the result HTML file in your browser (you will need
|
||||
access to the Internet to view these files as they reference multiple Java script libraries in CDN).
|
||||
This page has links to examples of scale test reports in HTML format generated
|
||||
by KloudBuster. These reports were generated within minutes after starting the
|
||||
scale test from a bare bone OpenStack cloud (not running anything). Click on
|
||||
the thumbnail images to view the result HTML file in your browser (you will
|
||||
need access to the Internet to view these files as they reference multiple Java
|
||||
script libraries in CDN).
|
||||
|
||||
Sample HTTP Scale Report
|
||||
------------------------
|
||||
|
||||
The following report shows an HTTP scale run with results for 1 to 20 HTTP servers
|
||||
(running in as many server VMs) in increment of 5, where each HTTP server is receiving
|
||||
HTTP requests from 1 HTTP traffic generator that runs in a separate VM and emulates 1,000
|
||||
users sending 1 request per second each (for a total of 1000 requests per second per HTTP server).
|
||||
The topology used for the test is 1 tenant, 1 router, 4 networks and 5 HTTP servers per network.
|
||||
Each iteration is programmed to run for 30 seconds.
|
||||
This scale settings can be viewed in the Configuration tab.
|
||||
The following report shows an HTTP scale run with results for 1 to 20 HTTP
|
||||
servers (running in as many server VMs) in increment of 5, where each HTTP
|
||||
server is receiving HTTP requests from 1 HTTP traffic generator that runs in a
|
||||
separate VM and emulates 1,000 users sending 1 request per second each (for a
|
||||
total of 1000 requests per second per HTTP server). The topology used for the
|
||||
test is 1 tenant, 1 router, 4 networks and 5 HTTP servers per network. Each
|
||||
iteration is programmed to run for 30 seconds. This scale settings can be
|
||||
viewed in the Configuration tab.
|
||||
|
||||
The table shows the results for each iteration step, with the requested and measured RPS
|
||||
(HTTP requests per second) and the corresponding aggregated download throughput (the sum of all
|
||||
downloads for all clients).
|
||||
The table shows the results for each iteration step, with the requested and
|
||||
measured RPS (HTTP requests per second) and the corresponding aggregated
|
||||
download throughput (the sum of all downloads for all clients).
|
||||
|
||||
The latency distribution is shows in the chart, where each line corresponds to one load level (or
|
||||
iteration in the progression). Lines can be individually shown/hidden by clicking on the
|
||||
corresponding legend item.
|
||||
|
||||
For example, the largest scale involves 20,000 simultaneous users sending an aggregate of 18,621
|
||||
HTTP requests per second and the latency chart tells us that 99.9% of these 18,621 requests are
|
||||
replied within 34ms, which is actually excellent.
|
||||
|
||||
Note that this test is configured to reuse HTTP connections meaning that we do not have the
|
||||
overhead of creating a new TCP connection for every HTTP request. This also means that this cloud
|
||||
had 20,000 TCP active connections at all times during the scale test.
|
||||
The latency distribution is shows in the chart, where each line corresponds to
|
||||
one load level (or iteration in the progression). Lines can be individually
|
||||
shown/hidden by clicking on the corresponding legend item.
|
||||
|
||||
For example, the largest scale involves 20,000 simultaneous users sending an
|
||||
aggregate of 18,621 HTTP requests per second and the latency chart tells us
|
||||
that 99.9% of these 18,621 requests are replied within 34ms, which is actually
|
||||
excellent.
|
||||
|
||||
Note that this test is configured to reuse HTTP connections meaning that we do
|
||||
not have the overhead of creating a new TCP connection for every HTTP request.
|
||||
This also means that this cloud had 20,000 TCP active connections at all times
|
||||
during the scale test.
|
||||
|
||||
.. image:: images/kb-http-thumbnail.png
|
||||
:target: https://htmlpreview.github.io/?https://github.com/openstack/kloudbuster/blob/master/doc/source/gallery/http.html
|
||||
@ -47,25 +47,26 @@ had 20,000 TCP active connections at all times during the scale test.
|
||||
Sample Storage Scale Report
|
||||
---------------------------
|
||||
|
||||
This is a report for a storage scale test using the default workload suite with a progression run
|
||||
from 1 VM to 20 VMs in increment of 5, and 30 second run per iteration.
|
||||
This results in 6 tabs of results (1 per workload). The mixed read/write tabs further split in
|
||||
2 sub tabs (1 for read and 1 for write results).
|
||||
|
||||
The random read tab shows that each VM could achieve its requested 100 IOPs across the progression.
|
||||
The lines represent the latency value at given percentile and can be individually shown/hidden by clicking
|
||||
the corresponding legend item.
|
||||
As an example, 20 VMs represents a combined 2,000 IOPs measured for a total of 60,000 random read operations.
|
||||
The latency line tells us that 99.9% of these 60,000 read operations are completed within 1.576 msec.
|
||||
|
||||
This is a report for a storage scale test using the default workload suite with
|
||||
a progression run from 1 VM to 20 VMs in increment of 5, and 30 second run per
|
||||
iteration. This results in 6 tabs of results (1 per workload). The mixed
|
||||
read/write tabs further split in 2 sub tabs (1 for read and 1 for write
|
||||
results).
|
||||
|
||||
The random read tab shows that each VM could achieve its requested 100 IOPs
|
||||
across the progression. The lines represent the latency value at given
|
||||
percentile and can be individually shown/hidden by clicking the corresponding
|
||||
legend item. As an example, 20 VMs represents a combined 2,000 IOPs measured
|
||||
for a total of 60,000 random read operations. The latency line tells us that
|
||||
99.9% of these 60,000 read operations are completed within 1.576 msec.
|
||||
|
||||
.. image:: images/kb-storage-thumbnail.png
|
||||
:target: https://htmlpreview.github.io/?https://github.com/openstack/kloudbuster/blob/master/doc/source/gallery/storage.html
|
||||
|
||||
The sequential write results are more challenging as they show that the VMs cannot achieve their requested
|
||||
write bandwidth (60MB/s) and can only get 49MB/s each when there are 20 of such VMs.
|
||||
The latency lines also reflect that stress by peaking at 500 ms for 99.99% of all write operations (although
|
||||
latency is not nearly as critical for sequential access than for random access).
|
||||
The sequential write results are more challenging as they show that the VMs
|
||||
cannot achieve their requested write bandwidth (60MB/s) and can only get 49MB/s
|
||||
each when there are 20 of such VMs. The latency lines also reflect that stress
|
||||
by peaking at 500 ms for 99.99% of all write operations (although latency is
|
||||
not nearly as critical for sequential access than for random access).
|
||||
|
||||
|
||||
|
@ -2,14 +2,16 @@
|
||||
KloudBuster version 6
|
||||
=====================
|
||||
|
||||
How good is your OpenStack *data plane* or *storage service* under real heavy load?
|
||||
How good is your OpenStack **data plane** or **storage service** under real
|
||||
heavy load?
|
||||
|
||||
KloudBuster is a tool that can load the data plane or storage infrastructure of any OpenStack
|
||||
cloud at massive scale and measure how well the cloud behaves under load
|
||||
where it matters: from the VMs standpoint, where cloud applications run.
|
||||
KloudBuster is a tool that can load the data plane or storage infrastructure of
|
||||
any OpenStack cloud at massive scale and measure how well the cloud behaves
|
||||
under load where it matters: from the VMs standpoint, where cloud applications
|
||||
run.
|
||||
|
||||
Accessible to anybody with basic knowledge of OpenStack, installs in minutes and runs
|
||||
off the box with sensible default workloads in a fully automated way.
|
||||
Accessible to anybody with basic knowledge of OpenStack, installs in minutes
|
||||
and runs off the box with sensible default workloads in a fully automated way.
|
||||
CLI/REST or Web User Interface.. you pick what works best for you.
|
||||
|
||||
|
||||
@ -52,15 +54,15 @@ Feature List
|
||||
|
||||
* Storage load:
|
||||
|
||||
* VM-level Cinder volume (block storage) or Ephemeral disk file I/O performance measurement
|
||||
using FIO running inside VMs (not bare metal)
|
||||
* VM-level Cinder volume (block storage) or Ephemeral disk file I/O
|
||||
performance measurement using FIO running inside VMs (not bare metal)
|
||||
|
||||
* Supports random and sequential file access mode
|
||||
|
||||
* Supports any mix of read/write
|
||||
|
||||
* IOPs, bandwitdh and loss-less millisecond-precision latency aggregation for every
|
||||
IO operation (typically millions per run)
|
||||
* IOPs, bandwitdh and loss-less millisecond-precision latency aggregation
|
||||
for every IO operation (typically millions per run)
|
||||
|
||||
* User configurable workload sequence
|
||||
|
||||
@ -71,7 +73,7 @@ Feature List
|
||||
|
||||
* Automatic cleanup upon termination
|
||||
|
||||
* Regular expression based cleanup script (`cleanup`_)
|
||||
* Regular expression based cleanup script (:ref:`cleanup`)
|
||||
|
||||
* KloudBuster server mode to drive scale test:
|
||||
|
||||
@ -85,12 +87,13 @@ Feature List
|
||||
* KloudBuster VM image pre-built and available from the OpenStack Community App
|
||||
Catalog (https://apps.openstack.org/)
|
||||
|
||||
*Diagrams* describing how the scale test resources are staged and how the traffic flows are available
|
||||
in :ref:`arch`.
|
||||
**Diagrams** describing how the scale test resources are staged and how the
|
||||
traffic flows are available in :ref:`arch`.
|
||||
|
||||
Scale results are available in json form or in html form with javascript graphical charts generated straight off the tool.
|
||||
Scale results are available in json form or in html form with javascript
|
||||
graphical charts generated straight off the tool.
|
||||
|
||||
*Examples of results* are available in :ref:`gallery`.
|
||||
**Examples of results** are available in :ref:`gallery`.
|
||||
|
||||
|
||||
Limitations and Non-Goals
|
||||
@ -100,18 +103,20 @@ Limitations and Non-Goals
|
||||
|
||||
* Only supports HTTP and storage traffic in this version
|
||||
|
||||
Unlike some other scaling test frameworks, KloudBuster does *not* attempt to:
|
||||
Unlike some other scaling test frameworks, KloudBuster does **not** attempt to:
|
||||
|
||||
* provide a scale test framework that works across different cloud technologies
|
||||
(OpenStack + AWS + Google Cloud + ...) - we are only focusing on OpenStack
|
||||
* Provide a scale test framework that works across different cloud
|
||||
technologies (OpenStack + AWS + Google Cloud + ...) - we are only
|
||||
focusing on OpenStack
|
||||
|
||||
* provide a scale test framework that is flexible and programmable to do everything -
|
||||
we just focus on opinionated and well targeted performance and scale areas
|
||||
with sensible use cases and available in a fully integrated and easy to consume
|
||||
packaged format
|
||||
* Provide a scale test framework that is flexible and programmable to do
|
||||
everything - we just focus on opinionated and well targeted performance
|
||||
and scale areas with sensible use cases and available in a fully
|
||||
integrated and easy to consume packaged format
|
||||
|
||||
* replace bare metal and domain specific native performance and scale frameworks
|
||||
(line level traffic generators, ceph specific performance and scale tools...)
|
||||
* Replace bare metal and domain specific native performance and scale
|
||||
frameworks (line level traffic generators, ceph specific performance and
|
||||
scale tools...)
|
||||
|
||||
|
||||
Contributions and Feedbacks
|
||||
|
@ -293,8 +293,8 @@ In the case of Storage testing:
|
||||
data.
|
||||
|
||||
|
||||
HTTP Tool Specific Options
|
||||
""""""""""""""""""""""""""
|
||||
HTTP Testing Specific Options
|
||||
"""""""""""""""""""""""""""""
|
||||
|
||||
* **client:http_tool_configs**
|
||||
|
||||
@ -333,8 +333,23 @@ testing is more than the cloud capacity.
|
||||
Some other values which are self-explained, and you can change them as needed.
|
||||
|
||||
|
||||
Storage Tool Specific Options
|
||||
"""""""""""""""""""""""""""""
|
||||
Storage Testing Specific Options
|
||||
""""""""""""""""""""""""""""""""
|
||||
|
||||
* **client:storage_stage_configs**
|
||||
|
||||
This section defines the storage specific configs in the staging phase::
|
||||
|
||||
# The number of VMs for running storage tests
|
||||
vm_count: 1
|
||||
# KloudBuster supports to run storage tests on Cinder Volumes or Ephemeral
|
||||
# Disks. Available options to be configured: ['volume', 'ephemeral'].
|
||||
target: 'volume'
|
||||
# Volumes size in GB for each VM
|
||||
disk_size: 10
|
||||
# The size of the test file for running IO tests in GB. Must be less or
|
||||
# equal than disk_size.
|
||||
io_file_size: 1
|
||||
|
||||
* **client:storage_tool_configs**
|
||||
|
||||
@ -342,20 +357,6 @@ This section controls how the Storage tests will be performed. All the fields
|
||||
are self-explained, and you can create your own test case with customized
|
||||
parameters.
|
||||
|
||||
* **client:storage_target**
|
||||
|
||||
KloudBuster supports to test the storage performance on Cinder volumes or
|
||||
ephemeral disks. Specify the testing target here.
|
||||
|
||||
* **client:disk_size**
|
||||
|
||||
This controls the size of the Cinder volume or ephemeral disk to be attached to
|
||||
each VM instance. (in GB)
|
||||
|
||||
* **client:io_file_size**
|
||||
|
||||
This controls the size of the test file to be used for storage testing. (in GB)
|
||||
|
||||
|
||||
Advanced Features
|
||||
^^^^^^^^^^^^^^^^^
|
||||
|
Loading…
x
Reference in New Issue
Block a user