Actions
Bug #62938
closedRGW s3website API prefetches data for range requests
% Done:
100%
Source:
Community (dev)
Tags:
website backport_processed
Backport:
pacific quincy reef
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
rgw
Pull request ID:
Crash signature (v1):
Crash signature (v2):
Description
Similar issue to a Bug #44508. Reproducible only when using s3website API not on s3 API.
You can replicate it by running this wrk command wrk -t56 -c500 -d5m http://${rgwipaddress}:8080/${bucket}/videos/ -s wrk-range-small.lua
It will send a range requests to 7 mp4 files.
wrk script
-- Initialize the pseudo random number generator
math.randomseed( os.time())
math.random(); math.random(); math.random()
i = 1
function request()
if i == 8
then
i = 1
end
local nrangefrom = math.random()
local nrangeto = math.random(100)
local path = wrk.path
url = path..i..".mp4"
wrk.headers["Range"] = nrangefrom.."-"..nrangeto
i = i+1
return wrk.format(nil, url)
end
When testing it was reading at rate 3Gb/s from compared to ~22Mb/s on s3 RGW. In both situation the bw towards client was ~20Mb/s
In the RGW log I was able to find this entry.
2023-09-20T12:52:06.670+0000 7f216d702700 1 -- xxx.xxx.58.15:0/758879303 --> [v2:xxx.xxx.58.2:6816/8556,v1:xxx.xxx.58.2:6817/8556] -- osd_op(unknown.0.0:238 18.651 18:8a75a7b2:::39078a70-7768-48c8-96a5-1e13ced83b5b.58017020.1_videos%2f7.mp4:head [getxattrs,stat,read 0~4194304] snapc 0=[] ondisk+read+known_if_redirected+supports_pool_eio e60419) v8 -- 0x7f21dc00a420 con 0x7f21dc007820
You can find the OSD parts of the log here - https://pastebin.com/nGQw4ugd
Actions