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

rgw/beast: add max_header_size option with 16k default, up from 4k #44029

Merged
merged 1 commit into from Dec 14, 2021

Conversation

cbodley
Copy link
Contributor

@cbodley cbodley commented Nov 19, 2021

in f13c691, we switched to a static 64k parse buffer. this gives us a lot of room to raise the header_limit above 4k

adds a "max_header_size" frontend option with default 16k and maximum value equal to the 64k parse buffer size

Show available Jenkins commands
  • jenkins retest this please
  • jenkins test classic perf
  • jenkins test crimson perf
  • jenkins test signed
  • jenkins test make check
  • jenkins test make check arm64
  • jenkins test submodules
  • jenkins test dashboard
  • jenkins test dashboard cephadm
  • jenkins test api
  • jenkins test docs
  • jenkins render docs
  • jenkins test ceph-volume all
  • jenkins test ceph-volume tox

in f13c691, we switched to a static 64k
parse buffer. this gives us a lot of room to raise the header_limit
above 4k

adds a "max_header_size" frontend option with default 16k and maximum
value equal to the 64k parse buffer size

Signed-off-by: Casey Bodley <cbodley@redhat.com>
@cbodley
Copy link
Contributor Author

cbodley commented Nov 19, 2021

jenkins render docs

@@ -533,15 +533,32 @@ int AsioFrontend::init()
// Setting global timeout
auto timeout = config.find("request_timeout_ms");
if (timeout != config.end()) {
auto timeout_number = ceph::parse<uint64_t>(timeout->second.data());
Copy link
Contributor

Choose a reason for hiding this comment

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

How did timeout->second's type change?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

this was a just a cosmetic cleanup. timeout->second is a std::string, and ceph::parse() takes std::string_view. std::string_view is happy to convert from std::string, so the extra conversion to char* data() wasn't necessary

Copy link
Contributor

Choose a reason for hiding this comment

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

ah, ok; thanks for explaining

@cbodley
Copy link
Contributor Author

cbodley commented Nov 19, 2021

jenkins render docs

Copy link
Contributor

@mkogan1 mkogan1 left a comment

Choose a reason for hiding this comment

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

checked, increased header_limit from 4096 to 16384 & did not affect hsbench PUT performance

@vumrao
Copy link
Contributor

vumrao commented Dec 8, 2021

Created an upstream tracker - https://tracker.ceph.com/issues/53546 for backports.

@cbodley cbodley merged commit 8ef7837 into ceph:master Dec 14, 2021
8 of 9 checks passed
@cbodley cbodley deleted the wip-rgw-beast-header-limit branch December 14, 2021 13:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants