sschepens
sschepens
@howardjohn @ramaraochavali i just went and did what howard was saying to optimize the hash key generation. https://github.com/istio/istio/pull/39412 There is still some more optimizations that could be done, every hash...
@howardjohn i don't really know a lot of Istio code, but it does seem that we're leaking things in `XdsCache`, specifically in `configIndex`. When an entry gets added we "update"...
@howardjohn another thing to note of the current cache implementation, the internal LRU store is bounded with a max size, but everytime we add an entry we're adding stuff to...
@howardjohn @ramaraochavali @hzxuzhonghu what about something like this? https://github.com/istio/istio/pull/39435 I don't know if this would be the right approach, though. We would have some increased memory overhead of storing the...
@ramaraochavali do you have the cache metrics enabled? is it possible for you to check if there were evictions on the cluster which showed the huge memory increase? If there...
@ramaraochavali thanks for the info, there seems to be a lot of evictions, so yeah I think that could be the real problem. Is there any chance you could deploy...
> @keithmattix @kyessenov @zirain is there not some way to have envoy do structured stats without performing a regex against a flat string? I think I have asked this before...
Would we maybe want to support `ext_proc` instead of doing buffered `ext_authz` ? `ext_proc` supports streaming the body to the external service without buffering. https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/http/ext_proc/v3/processing_mode.proto#envoy-v3-api-enum-extensions-filters-http-ext-proc-v3-processingmode-bodysendmode
On another note, `ext_authz` [doc](https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/http/ext_authz/v3/ext_authz.proto#envoy-v3-api-msg-extensions-filters-http-ext-authz-v3-buffersettings) suggests that `ext_authz` is doing the buffering and that adding `buffer` filter should not be necessary. @jewertow are you sure that `buffer` filter must be...
is go using the same epoll instance accross all threads? that might be the underlying problem, most high-throughput applications (nginx, envoy, netty) create several instances (usually one per thread together...