some performance results of envoy's different versions
- Dominant language
- C++
- Stars
- 28.9k
- Forks
- 5.6k
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 430
Description
I did some simple tests today and found that envoy's performance seems to be getting worse and worse. Although I know features should always come at some cost. But those costs seem to be too much.
And although I know that performance is not the first goal of Envoy. But with continuous enhancement of Envoy, the performance seems to degrade too quickly. Here are some simple results of **single envoy worker**:
| Version | QPS |
| ------- | -------- |
| v1.12.4 | 26921.48 |
| v1.13.3 | 25182.18 |
| v1.14.7 | 23732.31 |
| v1.15.5 | 21010.66 |
| v1.16.5 | 19116.81 |
| v1.17.4 | 17804.78 |
| v1.18.4 | 16953.67 |
| v1.19.1 | 16046.59 |
| v1.20.0 | 15949.65 |
I think we should at least prevent it from further deterioration, and at the same time find ways to optimize it.
Here is my config yaml:
```
static_resources:
listeners:
- address:
socket_address:
address: 0.0.0.0
port_value: 9090
filter_chains:
- filters:
- name: envoy.http_connection_manager
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
codec_type: auto
stat_prefix: ingress_http
route_config:
name: local_route
virtual_hosts:
- name: host-one # prefix route
domains:
- "*"
routes:
- match:
prefix: "/"
route:
cluster: httpbin
http_filters:
- name: envoy.router
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router
dynamic_stats: false
suppress_envoy_headers: true
clusters:
- name: httpbin
connect_timeout: 5s
type: strict_dns
lb_policy: round_robin
load_assignment:
cluster_name: httpbin
endpoints:
- lb_endpoints:
- endpoint:
address:
socket_address:
address: localhost
port_value: 8080
admin:
access_log_path: "/dev/null"
address:
socket_address:
address: 0.0.0.0
port_value: 20000
```
Back-end: multi-processes Nginx that will return simple short string.
Client command: wrk -c 200 -t 2 -d 180s http://localhost:9090/
Contributor guide
Assessment
This issue has not been assessed yet.