-
Notifications
You must be signed in to change notification settings - Fork 675
Description
My team just updated our internal tools to use grpc-js in lieu of grpc. A primary motivation for this is that we want to be able to use later versions of node and no longer use a library that's deprecated.
After a couple weeks, we've identified that the node 12 + grpc
to node 14 + grpc-js
upgrade has resulted in significant performance degradation for one of our endpoints. This endpoint makes a protobuf network call for a repeated
type that returns 100+ objects. Locally we're seeing a 3x latency increase between the two versions of the endpoint, but we haven't debugged the issue more than just swapping the libraries so far, so there is a chance that the issue could be specific to our app.
Is this a known tradeoff between the two libraries, potentially for example that serialization takes longer with the raw JS version? Are there recommended optimizations or configurations that I might not be following that would be contributing to our problem? I would really prefer to keep grpc-js and try to optimize code rather than doing a rollback if possible.