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

Fast sticky session scheduler is broken #1043

Closed
vankoven opened this issue Jul 24, 2018 · 1 comment · Fixed by #1266
Closed

Fast sticky session scheduler is broken #1043

vankoven opened this issue Jul 24, 2018 · 1 comment · Fixed by #1266
Assignees
Milestone

Comments

@vankoven
Copy link
Contributor

vankoven commented Jul 24, 2018

As sticky session scheduler was introduced (#593) it was claimed to be the fastest scheduler. When a new request arrived destination server was chosen by HTTP scheduler call and subsequent group scheduler call. HTTP scheduler used a lot of string compare functions and can dramatically slow down system in environments with super long HTTP rules lists. Sticky sessions scheduler was intended to replace that expensive string operations with cheap sticky cookie calculations.

But recent #1017 patch broke this convention. VHost is assigned to a request, before sticky cookie is analysed. 'VHost assignment' operation is very close to old http scheduler operation: multiple string comparison operations may be involved. This means that Fast sticky sessions scheduler doesn't work any more.

'VHost assignment' operation is very important, since many configuration options have or will have vhost scope. To return Fast sticky scheduler back operational, target vhost must be saved into sticky cookie structure (TfwStickyConn).

@vankoven
Copy link
Contributor Author

Should be fixed after #899: It moves obtaining of http sessions to earlier request processing stages.

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

Successfully merging a pull request may close this issue.

4 participants