Reset the final_result after clean_up
Change-Id: I0555143be186bb6a497874e3aef031d766318583
This commit is contained in:
parent
340377a899
commit
8a8dab7906
75
README.rst
75
README.rst
|
@ -1,53 +1,86 @@
|
|||
========
|
||||
Overview
|
||||
========
|
||||
========
|
||||
|
||||
How good is your OpenStack data plane under real heavy load?
|
||||
|
||||
KloudBuster is a tool that can load the data plane of any Neutron OpenStack cloud at massive scale and can measure how well the cloud behaves under load.
|
||||
KloudBuster is a tool that can load the data plane of any Neutron OpenStack
|
||||
cloud at massive scale and can measure how well the cloud behaves under load.
|
||||
|
||||
Features
|
||||
--------
|
||||
|
||||
* Neutron configuration agnostic (any encapsulation, any overlay, any plugin)
|
||||
* Can load the data plane with one OpenStack cloud (single-cloud operations for L3 East-West scale) or 2 OpenStack clouds (dual-cloud operations with one cloud hosting the HTTP servers and the other loading HTTP traffic for L3 North-South scale testing)
|
||||
* User can specify any number of tenants, routers, networks (only limited by cloud capacity) and KloudBuster will stage all these resources in a way that makes sense for operational data plane traffic
|
||||
|
||||
* Can load the data plane with one OpenStack cloud (single-cloud operations
|
||||
for L3 East-West scale) or 2 OpenStack clouds (dual-cloud operations with
|
||||
one cloud hosting the HTTP servers and the other loading HTTP traffic for
|
||||
L3 North-South scale testing)
|
||||
|
||||
* User can specify any number of tenants, routers, networks (only limited by
|
||||
cloud capacity) and KloudBuster will stage all these resources in a way that
|
||||
makes sense for operational data plane traffic
|
||||
|
||||
* HTTP traffic load:
|
||||
* real HTTP servers (Nginx) running in real Linux images (Ubuntu14.04)
|
||||
* can specify any number of HTTP servers per tenant
|
||||
* high performance and highly scalable HTTP traffic generators to simulate huge number of HTTP users and TCP connections (hundreds of thousands to millions)
|
||||
* overall throughput and latency measurement for every single HTTP request (typically millions per run) using the open source HdrHistogram library
|
||||
|
||||
* Real HTTP servers (Nginx) running in real Linux images (Ubuntu 14.04)
|
||||
|
||||
* Can specify any number of HTTP servers per tenant
|
||||
|
||||
* High performance and highly scalable HTTP traffic generators to simulate
|
||||
huge number of HTTP users and TCP connections (hundreds of thousands
|
||||
to millions)
|
||||
|
||||
* overall throughput and latency measurement for every single HTTP request
|
||||
(typically millions per run) using the open source HdrHistogram library
|
||||
|
||||
* Traffic shaping to specify on which links traffic should flow
|
||||
|
||||
* Highly efficient and scalable metric aggregation
|
||||
|
||||
* Can support periodic reporting and aggregation of results
|
||||
|
||||
* Automatic cleanup upon termination (by default)
|
||||
|
||||
* Manual cleanup script
|
||||
|
||||
* Server mode and REST interface:
|
||||
* allows KloudBuster to be driven by other programs
|
||||
|
||||
* Allows KloudBuster to be driven by other programs
|
||||
* Swagger 2.0 YAML description of the REST interface
|
||||
* Aggregated results provide an easy to understand way to assess the scale of the cloud under test
|
||||
|
||||
* Aggregated results provide an easy to understand way to assess the scale
|
||||
of the cloud under test
|
||||
|
||||
* KloudBuster VM images built using OpenStack DIB (Disk Image Builder)
|
||||
|
||||
* Verified to work on any OpenStack release starting from IceHouse
|
||||
|
||||
|
||||
Limitations
|
||||
-----------
|
||||
|
||||
* requires Neutron networking (does not support Nova networking)
|
||||
* only supports HTTP traffic in this version
|
||||
* Requires Neutron networking (does not support Nova networking)
|
||||
* Only supports HTTP traffic in this version
|
||||
|
||||
|
||||
Contributions and Feedbacks
|
||||
---------------------------
|
||||
|
||||
If you are interested in OpenStack Performance and Scale, contributions and feedbakcs are welcome!
|
||||
The KloudBuster code is still relatively small in size and touches many different areas such as:
|
||||
If you are interested in OpenStack Performance and Scale, contributions and
|
||||
feedbacks are welcome!
|
||||
|
||||
* backend control plane and data plane (python, C)
|
||||
* frontend RESTful interface
|
||||
The KloudBuster code is still relatively small in size and touches many
|
||||
different areas such as:
|
||||
|
||||
* Backend control plane and data plane (python, C)
|
||||
* Frontend RESTful interface
|
||||
* REST modeilizatiuon (swagger)
|
||||
* Web User Interface (javascript)
|
||||
|
||||
If you have any feedbacks or would like to make small or large contributions, simply send an email to
|
||||
openstack-dev@lists.openstack.org with a '[kloudbuster]' tag in the subject.
|
||||
If you have any feedbacks or would like to make small or large contributions,
|
||||
simply send an email to openstack-dev@lists.openstack.org with a
|
||||
'[kloudbuster]' tag in the subject.
|
||||
|
||||
|
||||
Licensing
|
||||
|
@ -55,7 +88,8 @@ Licensing
|
|||
|
||||
KloudBuster is licensed under the Apache License, Version 2.0 (the "License").
|
||||
You may not use this tool except in compliance with the License.
|
||||
You may obtain a copy of the License at `<http://www.apache.org/licenses/LICENSE-2.0>`_
|
||||
You may obtain a copy of the License at
|
||||
`<http://www.apache.org/licenses/LICENSE-2.0>`_
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
|
@ -66,7 +100,8 @@ limitations under the License.
|
|||
KloudBuster VM images contain multiple open source license components:
|
||||
|
||||
* nginx: BSD License (http://nginx.org/LICENSE)
|
||||
* wrk2: Apache License 2.0 (https://raw.githubusercontent.com/giltene/wrk2/master/LICENSE)
|
||||
* wrk2: Apache License 2.0
|
||||
(https://raw.githubusercontent.com/giltene/wrk2/master/LICENSE)
|
||||
* redis: BSD License (http://redis.io/topics/license)
|
||||
|
||||
|
||||
|
|
|
@ -191,12 +191,12 @@ distribution spectrum generated by KloudBuster).
|
|||
Different cloud has different capacity to handle data plane traffics.
|
||||
The best practice is to have an estimate first, and get started.
|
||||
In a typical 10GE VLAN deployment, the line rate is about 9Gbps, or
|
||||
1.1GB/s. For pure HTTP traffic, the effective rate minus the overhead
|
||||
is approximately 70%~80% of the line rate, which is about 750 MB/s. Each
|
||||
1.125 GB/s. For pure HTTP traffic, the effective rate minus the overhead
|
||||
is approximately 80% of the line rate, which is about 920 MB/s. Each
|
||||
HTTP request will consume 32KB traffic for loading the HTML page (HTML
|
||||
payload size is configurable), so the cloud capacity is about 24,000 req/sec.
|
||||
payload size is configurable), so the cloud capacity is about 30,000 req/sec.
|
||||
If you are staging a cloud with 20 testing pairs, the rate_limit for each
|
||||
VM settings will be about (24000 / 20 = 1200).
|
||||
VM settings will be about (30000 / 20 = 1500).
|
||||
|
||||
The capacity for handling connections varies among factors including
|
||||
kernel tuning, server software, server configs, etc. and hard to have
|
||||
|
|
|
@ -492,6 +492,7 @@ class KloudBuster(object):
|
|||
# Set the kloud to None
|
||||
self.kloud = None
|
||||
self.testing_kloud = None
|
||||
self.final_result = []
|
||||
|
||||
def dump_logs(self, offset=0):
|
||||
if not self.fp_logfile:
|
||||
|
|
Loading…
Reference in New Issue