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

Limit the serching range of static table by the first letter of header name #9298

Merged
merged 3 commits into from
Jan 23, 2023

Conversation

maskit
Copy link
Member

@maskit maskit commented Jan 10, 2023

Before:

finished in 14.74s, 6784.85 req/s, 53.19MB/s
requests: 100000 total, 100000 started, 100000 done, 100000 succeeded, 0 failed, 0 errored, 0 timeout
status codes: 100000 2xx, 0 3xx, 0 4xx, 0 5xx
traffic: 783.92MB (822000249) total, 976.78KB (1000219) headers (space savings 96.45%), 781.25MB (819200000) data
                     min         max         mean         sd        +/- sd
time for request:      860us      3.60ms      1.45ms       179us    89.26%
time for connect:     4.08ms      4.08ms      4.08ms         0us   100.00%
time to 1st byte:     7.58ms      7.58ms      7.58ms         0us   100.00%
req/s           :    6784.90     6784.90     6784.90        0.00   100.00%

After:

finished in 13.09s, 7642.25 req/s, 59.91MB/s
requests: 100000 total, 100000 started, 100000 done, 100000 succeeded, 0 failed, 0 errored, 0 timeout
status codes: 100000 2xx, 0 3xx, 0 4xx, 0 5xx
traffic: 783.92MB (822000227) total, 976.75KB (1000197) headers (space savings 96.44%), 781.25MB (819200000) data
                     min         max         mean         sd        +/- sd
time for request:      766us      3.28ms      1.28ms       163us    89.01%
time for connect:     3.78ms      3.78ms      3.78ms         0us   100.00%
time to 1st byte:     6.61ms      6.61ms      6.61ms         0us   100.00%
req/s           :    7642.30     7642.30     7642.30        0.00   100.00%

Before:
image

After:
image

@maskit maskit added this to the 10.0.0 milestone Jan 10, 2023
@maskit maskit self-assigned this Jan 10, 2023
@maskit
Copy link
Member Author

maskit commented Jan 18, 2023

Since entries in HPACK static table are alphabetically sorted, we can narrow the search range by checking the first character of a header name.

Copy link
Contributor

@bneradt bneradt left a comment

Choose a reason for hiding this comment

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

Makes sense.

@maskit maskit force-pushed the perf_hpack_search_range branch from 3bf2b22 to 80c7e60 Compare January 20, 2023 19:40
@maskit
Copy link
Member Author

maskit commented Jan 20, 2023

I added the comment and also a temporal variable to store the first character.

@maskit maskit merged commit 5c04faf into apache:master Jan 23, 2023
cmcfarlen pushed a commit to cmcfarlen/trafficserver that referenced this pull request Jun 3, 2024
* asf/master: (623 commits)
  records.config to records.yaml (apache#9264)
  Updates the release roadmap, adjusting for delays (apache#9360)
  Upgrades master branch to use clang-format v15.0.7 (apache#9355)
  Disable merging on GitHub (apache#9354)
  Clang-format 15.0.7 is finicky, and does not like these old school array inits (apache#9356)
  Enable merging for 10-Dev merge (apache#9353)
  Fix an error on SSL config reload (plus some cleanup). (apache#9334)
  Cleanup of legacy, makes newer clang-format crash right now (apache#9350)
  Update the roadmap / branch management doc page (apache#9340)
  Proxy Protocol out fixes (apache#9341)
  Memory leaks with storing configuration filenames (apache#9324)
  s3_auth autest: convert from gold file to file contains (apache#9337)
  Make 204 cacheable again (apache#9333)
  Add param to forward headers from the auth server to the origin (apache#9271)
  s3_auth: Fix assertion failure of TSActionCancel (apache#9329)
  Added http connect Autest with proxy verifier (apache#9315)
  s3_auth: Schedule reloading config event on TASK thread (apache#9328)
  Register ET_UDP thread type even if no UDP threads are requested (apache#9314)
  Don't send response body on status 204 No Content (apache#9330)
  Limit the serching range of static table by the first letter of header name (apache#9298)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants