performance-docs/doc/source/test_plans/kubernetes_proxy/plan.rst

101 lines
3.1 KiB
ReStructuredText

.. _Kubernetes_proxy_performance_test_plan:
**************************************
Kubernetes proxy performance test plan
**************************************
:status: **ready**
:version: 1.0
:Abstract:
This test plan covers scenarios for Kubernetes proxy performance testing.
Test Plan
=========
Kube-proxy(starting with k8s version 1.4) by default works in 'iptables' mode
and does not proxy the traffic. Old 'userspace' mode is left for backward
compatibility only. There is opinion, that even most recent version of
kube-proxy is not as effective, as it can be due ip-tables mode has its own
disadvantages and possible lack of performance. We want to check it.
Test Environment
----------------
Preparation
^^^^^^^^^^^
The test plan is executed against Kubernetes deployed on bare-metal nodes.
Environment description
^^^^^^^^^^^^^^^^^^^^^^^
The environment description includes hardware specification of servers,
network parameters, operation system and OpenStack deployment characteristics.
Test Case #1: Performing kube-proxy
-----------------------------------
Description
^^^^^^^^^^^
In this test case we investigate how number of services affects Kubernetes
proxy performance.
Script :download:`code/kubeproxy/test_kubeproxy.py` will create Kubernetes
services based on file :download:`code/kubeproxy/service.yaml`. After that,
will make request to this services using Locust_ (
:download:`code/locustfile.py`). Results will show response time.
Parameters
^^^^^^^^^^
**Case group 1:**
.. table:
+----------------------+------------------------+
| Parameter name | Value |
+======================+========================+
| number of Services | 100, 200, ..., 1400 |
+----------------------+------------------------+
**Case group 2:**
.. table:
+----------------------+------------------------+
| Parameter name | Value |
+======================+========================+
| number of Services | 10, 50 |
+----------------------+------------------------+
| number of Pods | 1, 3, 5 |
+----------------------+------------------------+
List of performance metrics
^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. table:: list of test metrics to be collected during this test
+-------------------------+-----------------------------------------------+
| Parameter | Description |
+=========================+===============================================+
| MIN_RESPONSE | time in ms |
+-------------------------+-----------------------------------------------+
| MAX_RESPONSE | time in ms |
+-------------------------+-----------------------------------------------+
| AVERAGE_RESPONSE | time in ms |
+-------------------------+-----------------------------------------------+
Reports
=======
Test plan execution reports:
* :ref:`Kubernetes_proxy_performance_test_report`
.. references:
.. _Locust: http://locust.io/