Doc format/typo/link fixes

Change-Id: I71c054bd3901d6de9b84f312f66b9a835f043304
This commit is contained in:
Yichen Wang 2016-04-03 23:55:21 -07:00
parent 6f1b2502d4
commit 4d6a73e92f
5 changed files with 106 additions and 101 deletions

View File

@ -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
---------

View File

@ -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
++++++++++++++++

View File

@ -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).

View File

@ -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

View File

@ -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
^^^^^^^^^^^^^^^^^