Skip to content

TELECOM-11880: Working fix to revert to old behaviour #109

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

Open
wants to merge 1 commit into
base: 3.4-genesys
Choose a base branch
from

Conversation

davidtrihy-genesys
Copy link
Collaborator

So this is in addition to the rest client fixes, it is not a complete fix as of now but it will work with what we have currently given we only use the rest client to hit one endpoint, testing this locally with a very simple script which I can flood OPTIONs requests on a single process TCP worker and this is my observations

Current 3.4 build with no upstream patches or other changes, using the mockserver to respond, mockserver listens on port 1080 which is defined as the socks port using this command ss -t -p -m -O | grep "127.0.0.1:socks users:((\"opensips\"" | wc -l to count open sockets you'll see that with a max transfers of 200 it only opens 128 using this build it will open 200 using my basic script to do 2000 simultaneous OPTIONs requests, also casually observe timeouts on 3.4 whereas no timeouts occur here.

If you run the rest client as is in 3.6 or what is in upstream 3.4 you'll see max two sockets open and the pacing of the responses are observable to the naked eye where this basic script will take a much much longer time to finish so the current rest patches are a no go at the moment for our use case, we are relying on undefined behaviour which this will expose again but in a much more performant manner.

Next steps is that this patch is in a branch for 3.6 and it is going to soak in TCA today, then I will soak this change for v1 in TCA tomorrow and as a result of both of those behaving well I will open a ticket with OpenSIPs to let them know my findings and a potential solution to expose this behaviour in a modparam, thinking something like max_concurrent_connections or something in that ballpark and also a soak on double load day

Copy link
Collaborator

@sekharp-genesys sekharp-genesys left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good thru the chat session of this changes in aws Kiro :)

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

Successfully merging this pull request may close these issues.

5 participants