Increase QPS limit in load test client

This commit is contained in:
Wojciech Tyczynski 2016-09-01 11:31:31 +02:00
parent 0c911ab701
commit 2f41f2d794

View File

@ -18,6 +18,7 @@ package e2e
import ( import (
"fmt" "fmt"
"math"
"math/rand" "math/rand"
"os" "os"
"strconv" "strconv"
@ -70,11 +71,21 @@ var _ = framework.KubeDescribe("Load capacity", func() {
Expect(highLatencyRequests).NotTo(BeNumerically(">", 0)) Expect(highLatencyRequests).NotTo(BeNumerically(">", 0))
}) })
// We assume a default throughput of 10 pods/second throughput.
// We may want to revisit it in the future.
// However, this can be overriden by LOAD_TEST_THROUGHPUT env var.
throughput := 10
if throughputEnv := os.Getenv("LOAD_TEST_THROUGHPUT"); throughputEnv != "" {
if newThroughput, err := strconv.Atoi(throughputEnv); err == nil {
throughput = newThroughput
}
}
// Explicitly put here, to delete namespace at the end of the test // Explicitly put here, to delete namespace at the end of the test
// (after measuring latency metrics, etc.). // (after measuring latency metrics, etc.).
options := framework.FrameworkOptions{ options := framework.FrameworkOptions{
ClientQPS: 50, ClientQPS: float32(math.Max(50.0, float64(2*throughput))),
ClientBurst: 100, ClientBurst: int(math.Max(100.0, float64(4*throughput))),
} }
f := framework.NewFramework("load", options, nil) f := framework.NewFramework("load", options, nil)
f.NamespaceDeletionTimeout = time.Hour f.NamespaceDeletionTimeout = time.Hour
@ -142,16 +153,6 @@ var _ = framework.KubeDescribe("Load capacity", func() {
framework.Logf("Skipping service creation") framework.Logf("Skipping service creation")
} }
// We assume a default throughput of 10 pods/second throughput.
// We may want to revisit it in the future.
// However, this can be overriden by LOAD_TEST_THROUGHPUT env var.
throughput := 10
if throughputEnv := os.Getenv("LOAD_TEST_THROUGHPUT"); throughputEnv != "" {
if newThroughput, err := strconv.Atoi(throughputEnv); err == nil {
throughput = newThroughput
}
}
// Simulate lifetime of RC: // Simulate lifetime of RC:
// * create with initial size // * create with initial size
// * scale RC to a random size and list all pods // * scale RC to a random size and list all pods