You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
During a performance tests in a microservice that contain a 3 feign clients, it was possible to saw a high GC usage (i.e. high cpu utilization as well) in two methods, as we can see at profiler image bellow
We have a high tps scenario here - 110tps. The situation was absolutely unstable and we has too much resources to handle with that.
After studying the issue I decided to use lib {io.github.openfeign:feign-httpclient:11.8} and do a new evaluation. To my surprise, we had a significant improvement in resource usage, as feign started using other classes and no longer generated as many objects, as shown bellow
So, my question: Is this the expected behavior of the default implementation or is there something I did incorrectly, because we've a big difference here.
Code
I don't have a high customization clients, only a custom decoder and base64 auth, as bellow
Hello @raizoor, the implementation that seems to be causing the issue is (Client.Default) is part of the OpenFeign/feign project and not Spring Cloud OpenFeign. Please create an issue there to start a discussion.
Resume
Discussion about default client performance of spring-cloud-openfeign
Versions
Java 17
Springboot 2.7.18
spring-cloud-dependencies 2021.0.8
Scenario
During a performance tests in a microservice that contain a 3 feign clients, it was possible to saw a high GC usage (i.e. high cpu utilization as well) in two methods, as we can see at profiler image bellow
We have a high tps scenario here - 110tps. The situation was absolutely unstable and we has too much resources to handle with that.
After studying the issue I decided to use lib {io.github.openfeign:feign-httpclient:11.8} and do a new evaluation. To my surprise, we had a significant improvement in resource usage, as feign started using other classes and no longer generated as many objects, as shown bellow
So, my question: Is this the expected behavior of the default implementation or is there something I did incorrectly, because we've a big difference here.
Code
I don't have a high customization clients, only a custom decoder and base64 auth, as bellow
The text was updated successfully, but these errors were encountered: