Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multiples socket hang up and errors 500 related on high traffics [solved via R&D] #444

Closed
jthibodeauCrakmedia opened this issue Aug 12, 2022 · 2 comments

Comments

@jthibodeauCrakmedia
Copy link

jthibodeauCrakmedia commented Aug 12, 2022

Hi,

We are using your app heavily and we have millions of users per month on our website.
We plugged DataDog agent into the app to analyse some datas to response quick.

We came to a point where we have so much traffic. Socket hang up where throw pretty much randomly on all renderers at differents timestamp.

After digging further more, we found out a correlation between the socket hang up and the SSR timeout from the ILC.

We found a solution.

We wanted to share that to the community. If any others people are stuck to that error.
image
The socket hang up that are popping up after the fix.. we suspect there are not correlated with that error.

So, regarding the solution, let say you have all microfrontend SSR timeout to 1000ms, modify the freeSocketTimeout on all agents to less then the 1000ms.

cfa/ilc/server/tailor/request-fragment.js

const kaAgent = new Agent({ freeSocketTimeout: 750 });
const kaAgentHttps = new HttpsAgent({ freeSocketTimeout: 750 });

Article inspired to solve the issue

Hope somes people get their fix as well! :-)

Regards

@jthibodeauCrakmedia jthibodeauCrakmedia changed the title Multiples socket hang up and errors 500 related on high traffics [solved via R&D | Proposal documentation explanation ] Multiples socket hang up and errors 500 related on high traffics [solved via R&D] Aug 12, 2022
@blackrabbit99
Copy link
Contributor

@jthibodeauCrakmedia Do not you have standalone test to reproduce this issue ?

@jthibodeauCrakmedia
Copy link
Author

jthibodeauCrakmedia commented Feb 15, 2023

Hey! Sorry for the waiting we where quite busy ;) Sure actually you can simulate the actual behaviour by flooding locally the ILC via some local testing example via lotus. That is how we found that their where a lot of socket hang up. Don't hesitate to ask for more details.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants