-
Notifications
You must be signed in to change notification settings - Fork 103
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
Implement new procfs stat #2234
Conversation
889b111
to
5bfd3ee
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The code is good for me, however we really need account every stream reset even that we send as response to reset from client? What is useful about this counter?
Max streams number exceeded
is exceptional case and if we have a counter only for this case, looking at this counter we can draw a conclusion that we under the flood or that we has too low max_concurrent_streams
for legal clients.
I can confirm, that this changes fixes #2220 in release build. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, I agree that it doesn't make sense to account EVERY stream resets (I guess on a live traffic we'll have LOTS of resets), so let's account only Max streams number exceeded
.
Since the original bug is fixed I approve the PR and leave the final review for @ai-tmpst
++hm->rsums[i].total; | ||
break; | ||
} | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure about our commit rules, but the changes in tfw_inc_global_hm_stats() (replacement spaces by tabs) look unrelated.
Otherwise LGTM.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes fixed. Make in other commit
Change spaces to tabs.
The problem in issue #2220 occurs because count of max concurrent streams in test exceeded a lot of times and Tempesta FW prints warning on each event. `printk` can hungs for a long time in `console_unlock` (more then 20s !), moreover Tempesta FW hold socket lock all this time. To solve this problem we change T_WARN to T_DBG for this event to not print this message for not debug build and also we impement new procfs stat (streams_num_exceeded) - count of streams which were not created, because count of max concurrent streams was exceeded. Closes #2220
5bfd3ee
to
92606a7
Compare
The problem in issue #2220 occurs because
count of max concurrent streams in test
exceeded a lot of times and Tempesta FW prints
warning on each event.
printk
can hungs fora long time in
console_unlock
(more then 20s!), moreover Tempesta FW hold socket lock all
this time. To solve this problem we change T_WARN
to T_DBG for this event to not print this message
for not debug build and also we impement new procfs stat (streams_reset) - count of streams which were reset by any reason. It can be useful to check why new requests dropped.
Closes #2220