Skip to content

Commit

Permalink
Integrating ingress-gateway
Browse files Browse the repository at this point in the history
Signed-off-by: Raul Sevilla <[email protected]>
  • Loading branch information
rsevilla87 committed Jan 5, 2024
1 parent ce598f8 commit 1c65997
Show file tree
Hide file tree
Showing 7 changed files with 275 additions and 286 deletions.
7 changes: 5 additions & 2 deletions cmd/ingress-perf.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,8 @@ var versionCmd = &cobra.Command{
}

func run() *cobra.Command {
var cfg, uuid, esServer, esIndex, logLevel, outputDir string
var cleanup, podMetrics bool
var cfg, uuid, esServer, esIndex, logLevel, outputDir, igNamespace string
var cleanup, podMetrics, serviceMesh bool
cmd := &cobra.Command{
Use: "run",
Short: "Run benchmark",
Expand All @@ -66,6 +66,7 @@ func run() *cobra.Command {
r := runner.New(
uuid, cleanup,
runner.WithIndexer(esServer, esIndex, outputDir, podMetrics),
runner.WithServiceMesh(serviceMesh, igNamespace),
)
return r.Start()
},
Expand All @@ -78,6 +79,8 @@ func run() *cobra.Command {
cmd.Flags().BoolVar(&cleanup, "cleanup", true, "Cleanup benchmark assets")
cmd.Flags().BoolVar(&podMetrics, "pod-metrics", false, "Index per pod metrics")
cmd.Flags().StringVar(&logLevel, "loglevel", "info", "Log level. Allowed levels are error, info and debug")
cmd.Flags().StringVar(&igNamespace, "gw-ns", "istio-system", "Ingress gateway namespace")
cmd.Flags().BoolVar(&serviceMesh, "service-mesh", false, "Enable service mesh mode")
cmd.MarkFlagRequired("cfg")
return cmd
}
Expand Down
97 changes: 5 additions & 92 deletions config/standard.yml
Original file line number Diff line number Diff line change
@@ -1,100 +1,13 @@
# vim: expandtab shiftwidth=2 softtabstop=2
# vi: expandtab shiftwidth=2 softtabstop=2

# First sample is set as warmup and also will tune the default ingress-controller to place the routers on infra nodes
# First scenario is configured as warmup and it will also tune the default ingress-controller to assign the router pods to the infra nodes
- termination: http
connections: 20
samples: 1
duration: 1m
path: /1024.html
concurrency: 1
tool: wrk
serverReplicas: 90
requestTimeout: 2s
tuningPatch: '{"spec":{"nodePlacement": {"nodeSelector": {"matchLabels": {"node-role.kubernetes.io/infra": ""}}}, "replicas": 2}}'
warmup: true

- termination: http
connections: 200
samples: 2
duration: 2m
path: /1024.html
concurrency: 1
tool: wrk
serverReplicas: 90
delay: 10s
procs: 2

- termination: edge
connections: 200
samples: 2
duration: 2m
path: /1024.html
concurrency: 1
tool: wrk
serverReplicas: 90
delay: 10s
procs: 2

- termination: reencrypt
connections: 200
samples: 2
duration: 2m
path: /1024.html
concurrency: 1
tool: wrk
serverReplicas: 90
delay: 10s
procs: 2

- termination: passthrough
connections: 200
samples: 2
duration: 2m
path: /1024.html
concurrency: 1
tool: wrk
serverReplicas: 90
delay: 10s
procs: 2

- termination: http
connections: 200
samples: 2
duration: 2m
path: /1024.html
concurrency: 20
tool: wrk
serverReplicas: 90
delay: 10s

- termination: edge
connections: 200
samples: 2
duration: 2m
path: /1024.html
concurrency: 20
tool: wrk
serverReplicas: 90
delay: 10s

- termination: reencrypt
connections: 200
samples: 2
duration: 2m
path: /1024.html
concurrency: 20
tool: wrk
serverReplicas: 90
delay: 10s

- termination: passthrough
connections: 200
samples: 2
duration: 2m
path: /1024.html
concurrency: 20
concurrency: 18
tool: wrk
serverReplicas: 90
serverReplicas: 45
requestTimeout: 10s
delay: 10s


61 changes: 34 additions & 27 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -6,37 +6,44 @@ require (
github.com/cloud-bulldozer/go-commons v1.0.10
github.com/openshift/api v0.0.0-20230414095907-0540dde8186d
github.com/openshift/client-go v0.0.0-20221019143426-16aed247da5c
github.com/prometheus/common v0.44.0
github.com/prometheus/common v0.45.0
github.com/satori/go.uuid v1.2.0
github.com/sirupsen/logrus v1.9.0
github.com/spf13/cobra v1.7.0
gopkg.in/yaml.v3 v3.0.1
k8s.io/api v0.27.1
k8s.io/apimachinery v0.27.1
k8s.io/client-go v0.27.1
k8s.io/utils v0.0.0-20230406110748-d93618cff8a2
istio.io/api v1.20.1
istio.io/client-go v1.20.1
k8s.io/api v0.28.3
k8s.io/apimachinery v0.28.3
k8s.io/client-go v0.28.3
k8s.io/utils v0.0.0-20230726121419-3b25d923346b
)

require (
github.com/google/gnostic-models v0.6.8 // indirect
github.com/google/go-cmp v0.6.0 // indirect
github.com/montanaflynn/stats v0.7.1 // indirect
github.com/prometheus/client_golang v1.15.1 // indirect
github.com/prometheus/client_golang v1.17.0 // indirect
github.com/prometheus/client_model v0.5.0 // indirect
github.com/prometheus/procfs v0.12.0 // indirect
golang.org/x/tools v0.14.0 // indirect
google.golang.org/genproto v0.0.0-20231002182017-d307bd883b97 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20230920204549-e6e6cdab5c13 // indirect
)

require (
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/elastic/go-elasticsearch/v7 v7.13.1 // indirect
github.com/emicklei/go-restful/v3 v3.9.0 // indirect
github.com/emicklei/go-restful/v3 v3.11.0 // indirect
github.com/go-logr/logr v1.2.4 // indirect
github.com/go-openapi/jsonpointer v0.19.6 // indirect
github.com/go-openapi/jsonreference v0.20.1 // indirect
github.com/go-openapi/swag v0.22.3 // indirect
github.com/go-openapi/jsonpointer v0.20.0 // indirect
github.com/go-openapi/jsonreference v0.20.2 // indirect
github.com/go-openapi/swag v0.22.4 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang/protobuf v1.5.3 // indirect
github.com/google/gnostic v0.5.7-v3refs // indirect
github.com/google/go-cmp v0.5.9 // indirect
github.com/google/gofuzz v1.2.0 // indirect
github.com/google/uuid v1.3.0 // indirect
github.com/imdario/mergo v0.3.11 // indirect
github.com/google/uuid v1.3.1 // indirect
github.com/imdario/mergo v0.3.16 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/josharian/intern v1.0.0 // indirect
github.com/json-iterator/go v1.1.12 // indirect
Expand All @@ -47,20 +54,20 @@ require (
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
github.com/opensearch-project/opensearch-go v1.1.0 // indirect
github.com/spf13/pflag v1.0.5 // indirect
golang.org/x/net v0.10.0 // indirect
golang.org/x/oauth2 v0.8.0 // indirect
golang.org/x/sync v0.3.0
golang.org/x/sys v0.9.0 // indirect
golang.org/x/term v0.8.0 // indirect
golang.org/x/text v0.9.0 // indirect
golang.org/x/time v0.0.0-20220210224613-90d013bbcef8 // indirect
google.golang.org/appengine v1.6.7 // indirect
google.golang.org/protobuf v1.30.0 // indirect
golang.org/x/net v0.17.0 // indirect
golang.org/x/oauth2 v0.13.0 // indirect
golang.org/x/sync v0.4.0
golang.org/x/sys v0.13.0 // indirect
golang.org/x/term v0.13.0 // indirect
golang.org/x/text v0.13.0 // indirect
golang.org/x/time v0.3.0 // indirect
google.golang.org/appengine v1.6.8 // indirect
google.golang.org/protobuf v1.31.0 // indirect
gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
k8s.io/klog/v2 v2.90.1 // indirect
k8s.io/kube-openapi v0.0.0-20230308215209-15aac26d736a // indirect
k8s.io/klog/v2 v2.100.1 // indirect
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 // indirect
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect
sigs.k8s.io/yaml v1.3.0 // indirect
sigs.k8s.io/structured-merge-diff/v4 v4.3.0 // indirect
sigs.k8s.io/yaml v1.4.0 // indirect
)
Loading

0 comments on commit 1c65997

Please sign in to comment.