From c679295f2a4cc6012d8f4bb4fdeddd5d59f7cdb1 Mon Sep 17 00:00:00 2001 From: Allen Helton Date: Thu, 13 Aug 2026 16:12:51 -0500 Subject: [PATCH 1/4] Adding blog for large object caching Signed-off-by: Allen Helton --- .../config-table.webp | Bin 0 -> 12756 bytes .../copy-avoidance-8.webp | Bin 0 -> 18198 bytes .../copy-avoidance-9.webp | Bin 0 -> 22828 bytes .../2026-08-17-large-object-caching/index.md | 78 ++++++++++++++++++ .../latency-table-with-9.webp | Bin 0 -> 14126 bytes .../latency-table.webp | Bin 0 -> 8750 bytes 6 files changed, 78 insertions(+) create mode 100644 content/blog/2026-08-17-large-object-caching/config-table.webp create mode 100644 content/blog/2026-08-17-large-object-caching/copy-avoidance-8.webp create mode 100644 content/blog/2026-08-17-large-object-caching/copy-avoidance-9.webp create mode 100644 content/blog/2026-08-17-large-object-caching/index.md create mode 100644 content/blog/2026-08-17-large-object-caching/latency-table-with-9.webp create mode 100644 content/blog/2026-08-17-large-object-caching/latency-table.webp diff --git a/content/blog/2026-08-17-large-object-caching/config-table.webp b/content/blog/2026-08-17-large-object-caching/config-table.webp new file mode 100644 index 0000000000000000000000000000000000000000..235ff07e1cd0ead6ad574d4bfdae9c67937d2b5c GIT binary patch literal 12756 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 O`Jn%*v9q!LbNWB}yKja7 literal 0 HcmV?d00001 diff --git a/content/blog/2026-08-17-large-object-caching/index.md b/content/blog/2026-08-17-large-object-caching/index.md new file mode 100644 index 00000000..eb6f1c8e --- /dev/null +++ b/content/blog/2026-08-17-large-object-caching/index.md @@ -0,0 +1,78 @@ ++++ +title = "Large objects ruin the party - Valkey 9 tames them" +date = 2026-08-17 +description = "Tail latencies are where promises break. You can have a system that's fast 99% of the time, but that 1% is what users remember." +authors = ["khawaja"] + +[taxonomies] +blog_type = ["Technical Deep Dive"] +[extra] +featured = false +featured_image = "/assets/media/featured/random-05.webp" ++++ + +We had a Valkey cluster humming along at 100K requests/second serving 1KB objects. Latency was tight. Then someone started fetching a few 10MB blobs. Ten requests per second. The small object workload fell apart. + +10MB items are common in media use cases. Momento as a live origin, caching video segments. Tail latencies really matter here. A p99 spike means buffering. Buffering means users leaving. This is especially problematic in [multi-tenant systems](https://gomomento.com/blog/the-dark-art-of-multi-tenancy/) where one workflow's large items can ruin the experience for everyone else. + +## The Problem + +Our baseline: 100K req/s total of 1KB GETs distributed across 256 connections, each pipelining 32 requests. Then we introduced 10 req/s of 10MB GETs as background traffic. Just 10 requests per second of large objects. + +Here's what happened to the 1KB request latency on Valkey 8.1: + +![Latency table: on Valkey 8.1, 10MB noise traffic leaves 1KB p50–p99 flat but pushes p99.9 from 489µs to 26.2ms.](./latency-table.webp) + +p50, p90, and p99 barely moved. But tail latencies exploded. p99.9 went from 489μs to 26.2ms. That's 53x worse. A handful of large object fetches were destroying the experience for everyone else. + +But wait. Valkey has I/O threads. We saw [throughput scale nearly linearly](https://gomomento.com/blog/valkey-turns-one-how-the-community-fork-left-redis-in-the-dust/) with I/O thread count. Shouldn't they handle the network traffic without blocking the main thread? + +## The Hypothesis + +We knew Valkey 9.0 shipped with [reply copy avoidance](https://github.com/valkey-io/valkey/pull/2078). The idea: instead of memcpy'ing large objects into reply buffers on the main thread, just pass a pointer reference and let the I/O threads handle the actual data transfer. + +If the main thread was blocking on 10MB memcpy operations, that would explain why small requests were getting stuck. Remove the copy, remove the block, problem solved. That was the theory. + +## How Copy Avoidance Works + +Prior to 9.0, returning a large string meant the main thread memcpy'd the entire object into a reply buffer before moving on. Two copies per GET: + +**BEFORE (Valkey 8.1)** + +![Flowchart showing how copy worked in Valkey 8.1](./copy-avoidance-8.webp) + +*Total memory bandwidth: 20MB per GET.* + +Valkey 9.0 flips the script. Instead of copying 10MB, the main thread writes a 16-byte reference and moves on: + +**AFTER (Valkey 9.0)** + +![Flowchart showing how copy works in Valkey 9 with copy avoidance](./copy-avoidance-9.webp) + +*Main-thread copy bandwidth: ~0 — just pointer/reference management.* + +The I/O thread builds an iovec pointing directly to `obj->ptr` and calls `writev()`. The heavy lifting happens in parallel with command execution. + +## Back to the Party + +Would copy avoidance fix the noisy neighbor problem? We ran the mixed workload test on both versions: + +![Latency table: under 10MB noise, 8.1 hits 26.2ms at p99.9 while 9.0 stays at 3.10ms.](./latency-table-with-9.webp) + +In 9.0, the large object traffic has essentially no impact on the small object workload. p99 stays at 8ms. The main thread isn't blocking on memcpy, so small requests keep flowing even when large ones are in flight. + +The party crashers got kicked out. Well, not really. They were ushered to the dance floor where they now play nicely with everyone else. + +## The Secret Menu + +You don't need to tune anything to get these gains. The optimization is controlled by three configs that aren't in the default config file. The [secret menu](https://github.com/valkey-io/valkey/blob/fa5964312801ec435147ecd0667da03aad229434/src/config.c#L3319), if you will. The defaults are sane: + +![Table of three Valkey configs controlling copy avoidance, with defaults of 7 I/O threads, 16KB, and 64KB.](./config-table.webp) + +The defaults work for most use-cases. But now you know where to look if you want to tune for your specific workload. + +This is one of many community-driven optimizations in Valkey. Individually, they're incremental. Together, they compound. I'm excited about upcoming changes like [PR #2976](https://github.com/valkey-io/valkey/pull/2976), which offloads read commands to worker threads entirely, removing the main thread from the read path. + +Large objects are not going away. If anything, they are becoming the common case. A 10MB blob looked like an outlier when we designed this benchmark, but now it describes an inference workload. Teams moving KV cache off the GPU and onto a shared tier will run this same experiment in production, with small reads and multi-megabyte blocks competing for the same main thread. Valkey 9.0 means they get to keep both. The party crashers can stay, and everybody keeps dancing. 🕺 + +*Special thanks to [Madelyn Olson](https://www.linkedin.com/in/madelyn-olson-valkey/) for guidance on how parameters work and for technical feedback on benchmark methodology.* diff --git a/content/blog/2026-08-17-large-object-caching/latency-table-with-9.webp b/content/blog/2026-08-17-large-object-caching/latency-table-with-9.webp new file mode 100644 index 0000000000000000000000000000000000000000..e2463b1c9246010d1862566019a4b19870da2252 GIT binary patch literal 14126 zcma*NV{~mzur?ao&W^E@?AW$#+qP{RJLZmU+bcG9Y}-!0yze>pV2pdm{c6mbU0v(x zXI9PbAKkU4qJ*d@85`F{%TDD`VmpiOMwz0;MqxTno_;(hl3R&G7w`z6+20)Dq${CvHh?)SeA zK_|C9uS&OWdGiS7{nlP9zvjR0E-^pkJ|Vw)Uj2XwhQCI>?jP&F&dyyv)xN}P!=AsM zx4yo<-u(S;9&0{<#SZ)yzLvfMJ{Gvy@K7Jrk?03rn(4S6mIr#FNWN*~!Hb?Di1Tk_(nZr=B{v$bw z8ZMPDZK8{{jpemze@%Hz9Cod!4ZW+MicXj^YT~p(4NgvC1Kbf&eT$En#0m!K*~Jq! z98bg}QXJ%GO}QS}C!AIXiP7Hq7$|m6c$WN9$8g*ry`KOF!V70&A0qjr^iSyRUv&u( z1B{dELnTsINg(5rWN1HJNw_Lff*Yxy3kVD`F^{d`91Mc~_}vjvbDeoD3$jO2BifT;0^w)!h6a*Xrt~F8AgwV!v}}z}OD`7pa=_dPpK;ftbCW>T0CkFG@5u znF7tsn_@H-_VwxrI080e;L%@V>Ji{F+Qe`S_Lql8f7S4lUsAEFNAPB=QsDddWwd<| z7$=xK$Y~g(zeGmyQr7w$F@=ghXhh49GK{8~qaNbeOk7viL&w6%IS?!; zuH@XlvMhpbQFdR0^e_N#o^e;;w~2}Xq{NX4Y0bSiUThNpdu*|RrHV}#vYK@}JWA`Q zH5gYr#m5v33V|Ytpzvr0jC0P(kx;F4xx2aq6BM!!(GPGpCptDf%3ErO0CGbty;$g`hGC9cjvJJgX zq8oSBaN5@CIoZ0Pwe09yoiA7%xQTUGR+Z<-)~*gfECWPDXV36QMg)9myJ+u&e;*hm zV_MnVLt-05|0S~Z-=n(!d{X@}j&6!&_BZj>oR#4wHy$q$Fzn0kDus`N8wg;!ZT2>+ zm`(i1a9~-{bXK#Pj(zZC)N7E{W}}jgyzsc$tPz#Ek)}-UusG!|^EDdjqh>1=pli_* z12h(7Hu{Y&_80UMf}Dm%gFflT0E-n6H0Rv^)_Jx?7sZ3}?}g%|X10J7o&opoDn#@A%qH z4KC7#&o0klhAZrKl9H5S)djWc565TM)~QU|S~oBTZ9O+thm038E|3zOKd{XowOJ;r zS$%9oI9UTZgm|*PRNx3NZ(zeh8Q^;PHC6H)HjbSd9zXnb)Pj>lmuX2>kj5G+uGDS) zFJ1_@mTNWT_}w#!cjDGe13*o%0PFt0q*PpANhtGAq*_qSYOPsq1*%93pqpXS8D%4P z2+W917vV6{{1cxlLcN|o>dN7O5%UC#R7)*0ZPdAl|0=}N%;z5oI2B;Opnd23yA~>a z9r%JMd5-maj%U2f9;up+03Kpc?m(Yc*kNlaXPP;4;nSkqJ>(`HlF^&jCB%q9826V&L#OOBQWKvcqjFMWG{ErKyN+AF;paf< zIB`Yxljg(XV8((LY=S8kSXX+}aOdO;OG5rKiYD`LvD)sNCTQyHIk^hz`MJWsqV1`l zb+K1c1MsS8Hms-S`#nGDI_Yjk(V*LYg<!H6r#|rw@>?Yzvm3!)#Mtv~KCS?Y=L{9} ziNKp|Eua<0>7rl=#+F<3r21f4z*i)&VMc72E3_xxq}HCv;%=Y!cAZ`St#|uV9i$^2 z&v-7OTw@&6^oF^aNomg@wXNk9Q6+&(1gbB?dq(|yg4;CX8DGJ;w^1bWz6F>+4`$js z4Q~O^73qdeXHc`$dRSBO!_to{M|whRBqf6J<5e{9L(Gm&B@=M{X*n{viR%UW2>gXZ z2%oUK-je`my)k&6*;k?>iNrC?*n;+uTRKNh|GZ0qJ?>R$YN)^bC@!UO7y@6Yw>Sf^5g?W zpfB8}qlrZUR4fXHs6Y7Q%`~Y4LQEDx*QJK7uusg7W0vQF^ZTrK9Z^;3t51g=yki)e z><@W*SO)n0S+JiT?G zZ?{`&&6pd(8``fm4wQ)4ANu$d^x^|5DdOnhy2tGmi`jCVERDpM^NMbgm8Fq86BdXC zRwvIFk~O$e6ii#7(j*Y`!ReVN53@Ld3^I>l1-+)HgmRIF>pKLIs3ow?4XaFKb`j#d zmGG`45`#vPkIzN{(6r^lXC$fw;cD+WCYkT7zZ>>1PCAPM6#j0&p) z?sw9N_0(w!bP_!D(+-mXVFZaEy40Gf+0+XT4Y{NL84S#j#_+g+PArYJn(nP3OL5Y@ znJJchxnK|L$=e}0gp-#(EkJ*a({#7c!8S2|aLtd?G%s_q! zs2Xu(u8_hMFu&^!CXbf{1F@+GEsdoNrF2r$;-ty8lBf7wk6nLCf6y&1R+Oy%7q%w( z7Ke3H6z(#V0lRt4reS2cjtG5QG}Y=a@kb`}m#hc=c3M3JdFNP{s{G*J=>r2(_ung- zIFhl$QyepNK_4!gRsp4QjoE7n5N8`P_XPx0Pk=aingCW}jD0y87MEi#FgWexoPqIk zElHNh-0mj}DxtJmqVzPSV_%2Q*(D6m1vC>G4d&l(Gcf)swzd9T%Di3W#gMYf)J&)a z$1uu2f4^4Y5VJ=GZb_!&ZWx{FcZ$o5^1YmBNjA~m3|$eAFC-kG*}4U&Z=FntEU!eK zO#4E(v0<#sm&e_Z=F%wAv2;zUNdFecasd2s1Zs0)RBjR9#9PGI1DVdQqgo8XU^p@O zilyU4aWi=4KwAZ^c=F@hYpTf*VQ?97=ln@wsb_3E^_lK<=ASvJ>qJ-~;3cc|U1dp*X$rPP!kYJ9CQfeP)G+nNk>;JbN%nL?C{A_u2*y4aZ`CwMazm0c0F*NUI@U zndg@II+3F0PC$6kI_uaACEOayFyOSU)R3#&@rW3C$9%BD(`@G1LQiE-V02T)TtpbA zZ{?Tp@{qcl!Ek6NG&)t&iMgkM)pn>u5pw5 zQP4h9_$)I226?9`0?iJb+^d?N>L!Pt+u!8NBh2$zz>>$)?!#@;h(~Rj_ z+s@2Flbj8JAO=~gvZg5T5_rXQu+u-x7BefX+PB&?XK&gbR)6IZqQWWjPBA`z7jP8Q z(Z9x?kaXTYwulM5odzl-%0S*KzD^=_6pWuWyDJG;5~Ox?1yKZ9`^BjIJ2Z!tO+>RI zpCr=2JuV~I9*b++|72?QPr{Nj8Z&>Qsm7dch83o!3kK`F;@_y}x2aHBhfNG?Q35MM zDyTitVne0&Ujl9fiEe)E0YcQ~Lx1};^oZoE76acGZnI$8C(fRM0nAu7CN~My6Mg4S zo0{>3)pmE=2_+L7s;h46KbJpQ1FhKFqWZmOv7HSXP~T`mj1T#j<~r-l#hZA8Gd7S= z%A0Y4Jomwb@xzbQN5Ky7Sl8yj;C!5L4?}@W-2O~`24wv`)A#A6&b#a4t!&{Q*GL!W zYWzO10^`VqQWv60dUWGrx1a%V^m_LbM4&YWb!)jdn9H<$iqSXuW(N!>9y;cd0z@W_ zDdbfTl*x1?>+h<|%b6e(+eJ31a%HObmNV_EusX>@3Y(D;@6E&U#nNJ~{ic<8(>Lol z4puTXPMYRs1mWO5d%93U;)|nIC^{f8`BijBI@lxzRCeG+MO4{@A81sgl|t_Z{UpZT znZHIraVAdD`}W6`F;0?5AECmhiFo3o1__F$WUF7D*Rrv{C#`(bg{hna@=r`F;>W|V zO?ct&BJ~Wn+$g`(vRY|H!(QiOYb`&vc>Xn6b_+REe_Z0QP`do;CWrA)6cofu8rcDV zwxPNX1w;6EGQB{uwgijCT`f}j5U^31^DZ8Nmqvcya#e((g1QL{s1^m;^^Urscf_nS zVT!6N*&`miJLPC;T6<7_*-6~zY#Le<>u3jeCEeRXtc>1hXa+Lv)=nJ8N z=R<``XgB90`8STRP7t91B}eHN0f|2(NjDq|F3MpIR@$Isx}aqHQ-G|J@V)zCzdoG&ka}UV)^IX1 zT_CE%+@JmZb#U4;EIH?Hx1_G(Kcs{v@Ax=zcwBnZDfe_UUFD;y^G0ZC_@kVME)A~F zZWPm$lCLKIlaQVTCquM40C>lR#dSsMX%_;kt7=$`b{z)KjgP3^=(?w(>g(pYQ9)7( z+fz$M5EV0NL82|CwZGNM9 zq0iUOV_xOPVLqxU%0FmA4ZAPBrA`wVJ(F8uor5Nd`CR&Jt-2W-L6v1xU#7^8prA)3 zl$Cp@Q@ZJHu?G`#Y!Xx{Rg3~lb!8HRg2jld=^7xEzYU|mjF0S06E}L7$A|KVW*T6M zb=cw+%#_GipJu@FSgkxJRATZuMFS6Y7l-NWIc9;dylA&coSRh;m`flEQ#^ghDhSQV zhcA`U4DP)?OtDz;LWkmWX|H7Pd>ej#{+g@K@ewaiM0t5SIaxfZ8ioD1ZEi@S+LTvU zm1mbK+O)}hZFIoPqlXzpSBLZA>J9F}64s3`ts!#Dz%A0>xbY{j?K)c#OzVp#8s4VU zj;(?Wn4YI*fw$&ev>@>^wp)KfGjVQ1J0Pa&H~ew!W+Ka#;CSRs-9UnVpH(veBYxw%tdWXw%`mV=84S_)TO?)g%rdx+oq9XZpgujZTDdy^%=hI zi!*AUudVtp`ek^3&?NuP)=81ug@6?TIUgsX7`3?($ZrzpdqsH-oLR;qnKeJK-@ant zM$!d3lS4pXSm@eloT+Y}FoR`rJU_;nJy1E6*==eJ2-hRdEeHn#SHRod&rg+#x>-wd zSk2X@>xJb){y0Ppara?J0iFSWsJFF$l+Sh6Fvj|86IylH23Zp<+9#Rwz_)Mn*ma|c zzGTr0^@(rZ+w|+BT3jHaPyC8I0G&s=Hkz*BMDbdp0>(b29@F>PrK~0sj>Z*{^q=+~ z>bCLuiHXPHnmHQx;3iYE&V4CHHagH`I>_I`%CIQZDVhAWa%~irWm`%mIJ)&N0UYqy zm6MdUCJ;`du!Ckq%-Uk^=b)WNC4B``mZi*Qy zMr+Y^feq;e%n=u0+=U%y-nbH_w0=7!I-kW>X(kC`0c2C+ix*d~P99vJEDh#M@I`^$ z$s@Z(g}no>G$@LFxNdKKc-tU6Uj(4th?vCN8oxNS@%-bZd7z5!fO0&(&%$yOG|gCM z{ArPwq5BL_N1Wjg(T`QBB3Q1e39}>#rZ%%j^L3>AGeRT1>SeBp8twN9-ul4Se)D7Z z#6+H)+dMwnzAE|koSwS-r%E$R8%EYc#KK7Co}mYR^e0=6%~nko0E;tc#@*n=Bzg#v z(iYPoFFp%;B>Yb!So%+?=Ak7oNzsc5@s_86(6lt!_?@|5(T(#c(^TWYvA_`JKMD&d z<}Xs9i{%$edZgc-HFiMta(E;Cm#^Oa%O?-QUhXKMZ@a8ZmJ{lQk17nRcn_AB#?3V2 zo8$|Uq$?r?KDJ1(87_c**)z947=7!L782{)&DhgW`>Y!}ThLipEyM?{AMRI&qX8Vw z+LMg&KX(NUC=uY;e1l z=NvRRFqD0T^)2DvuCGc8y8=SnF8vKQ$XA@pIVn+@AwCFwHK1ZJ3W|`?k z1%<#%hqsm!<*z|zo15--d^fG?M(q0D*=>{nx3Ug}&YTpS(rPYbSGCqu1vZC@0@v$6 z1JU5}sZ9zhMu^?|M2f;Ind{zK1KJGw-)=|TdC>-W`X4Jqqf7EC_bFX)ke$3H!mW9` z#BohY8Yhepi6?}VZS?^KH!Zim!8!UVEiO)=}I7q3lztYMMowDf518J_QrO& z>i#NDo@CMQ7OBy_CBxvlh7f7wLzRsfS|mj;d^UC{R=h5a5F!lfd_GJwVAnn!g{hW> zDUWgGp!~F*&szr+(PC%6Q<;ff0plhmVkA1H02c0O_U??7PMak+CQ!Q<330ZYVS|#c z>@2|H&T6?jhq9p6iSSZhJK?Bl>G|hhHB4{_g6w(OfCCkcf6g)KE#qDP30sH>9(gWo z#gDL^x$h1x?RY4NUnR~TI9-D3gGOeRWSM8O`{UnhQKG<$RvDbVyOYoD?t?S-R=Kr$pjC)=X?zhAUBmJ<`9rM^0bKYwHu!geBA0a$5r=f>k;v{s7>ELb zYfSJiS}>#u8h+B}gW2JjhVl{Y@3?^r6dyt}C5*st|6}pK$J#%IK^o754%4ZbUqs#6vk?sU_si|Lh zvwzmW(ho=w8h~npWMxyQ!QEZd6U(J`OIeY8JU7V9%94@T6c)k6_)u9nCk!RXFq9uN zPOCd5pJ}hLB5DP<(;71A2G|Pl<%AE4SoHm^>#xR6b)Waa^i7{lN=rQ zgqk@uRHc?@Cw+wjWet%R{5GZ+XF}+%wpHmjCer=%08HlAo(m!rpqr24z<1ZcVb-(E zh(UobvcVP%>AiWb{`9y|2F_!0?)Sn@5b|2k56~$w@zjQe^S>>W=RUl8!U$LZScKXCP zdeYMwd7R}ef0Q1Jbp~P93q5Z6o3nws5-3*SUr0m!W-!Nzdj}B9mXzr6G2_k_x~6ER z7Y&K=_E>298ocy_#|oHDrT;7ug|S`K2?%Zz=*3AfpHgR!YGT7+J=a$7e%gB~uyI;u zBEkswtfXG#x5#;T-E$&D@Q+_@${5QW0%}^3#`uG1DT|STYkGY*(XLr1_iN9L52A6V zA_L;G6Y$LgW*7aX z3p8PgiT`a#lW3OV1KInv(1YbPK|&I`gj9E2nugk!`=w5bhQt0D_CV7Ie(cV(m1b?@ z!~p;z*Mo74aO$o1$JM*r^?J@Zl%vs7Ydv=oJXX_(zn<{+ z_?Q4It&5Ul$X?MG4eE$g3`O@4N;EUxIq&qsMind5E(3gr}WL4B-@hV;9(2k#)%|xuKw?vw5ePP*7IN&E-oGT(^TfG`zHT^1B}cAn#SQBM{2@22Zi4ib z>M@c{l2TOTbVQtdI<;lw|^Jg`7>Z#2UwYt`87k&nj)Tf`kokZKvsV^E1`7yHu zEGby<>@#T(9>w!7kjGpNuDODdg(j}}CB080${pIWtUE9fPHNZ^6HHZkxcI*6dYoj) z5*Mg^QamLinPO1fxm238Sc&7qXpYtbRA-YNZtR<~?$+>e|K4pFP#9w$o^$0IY(3F( zkv~uQ>d0FOH>P4?`8+!!LO}}`tZ5V|WmYT<|3&gJJoi~Jx}f43{H|xA#kA_5%zPUl z#_>0;;-dH8CJ>OgDJy2@gn`OwWS=GeZ0r*?*~6QfeA-_SjIVSVB4Q2QTig}4#Q8JU z$}f~wA^GC0OKtHlLNw_UGmnMSC>WZfw}lab`?H=TFDxo^5{qPQoIP4JOcm&!ZCyhG z%^x3x&Hd&~glItA}8t)9ml+Y*sz_luhBOqimGp%3C8t5VKHe7<_b99Dx^kSw^nY z%Kdt8082jMx``!WA%Y*WamOL}A+6b71`K>x4Ir{iJz_nTi*AGZT-a_!7&!l=>6{Js z1DVe!)8r(@XqRnc<`8jgT{0)ANzCsx5-e~o-xg7)vcNL6&Ah+*i6FQ^m2P=bfJOa$ ziU9ZYAd>C|yeLvwtW#%1tw?TM7FyGpGj)CjjbhXARHrh9$ zItmq3pE*BU)V=jHw{t`vu{6?}+`m`wfuU*MWx1H7QJ$rJ!#oWAbdLLI#VpGs6@*Zr z$7d2Va1JM_F@Fn>=$GAdlg(ft9K{m3Za8TD_CU;9Wn!#tHc;y zwf(s!MOZ7SovGh~HP25=IC@;+JQU?)SpaRO$au>&?TD5k5w!uk*+>QEzBRTGfM!0i zal1aW(nB>TNBq+~3PYvp*ZWr(L(g$(N?oKqrFURf<%?~zE?x{S|CJ9#E2K4G4Lih? z`YaEv)&6M%-@R6fPoz!N5-dn>Y_HaPUmDEHYGVrr&bge*pzPGYBiwU?Mp52R*YHg4kVbkK=4{JV(-a4#@Vx9F$Ri^zKz8P?2G4fGycq-Dp zFB?v7f1ypeETNT7E9V3_;2MJha$$)4iMh-V_%y@*QN4AKCELQywF*+9)CC-oI)KAc zb@)D=n5|Pt*a9=PB^iJ%R4_|}3oTj9hH2rf= zyxgZE!auGKC7Y-tNyM7p3r6~~(dL$Ow)TyH5;JUcqn~>l$;jaxRI)~?Fi6MIe|j&| zx^X$)Pq6Pw{c>_q_tX2d{iuuQRnVk--I|h`cr<7LCAq-)Z=*YfR$kQ(O6KjgPu^@CI zJd;(317Ueh&Yzn7>Z*v%Ogjnl2dL^(pu2mtDc;a)TJi=Q2i53ISr zbGJk2;xW1B@_Qz0>P?lwAKYNTf{ZeNX#lMqC{umJOtp6f-jc6cqqgg+Wx*%$wY@Qz zJYE|Y4lu6?}Nd4I6kCf2tlg-A}9UEnPl9D{SDqpyd5M*y9T#$iP+Di zjyjPhNuRr;7>AED8N-gjT%ChDs1{JLS0{or0@4Z@0bhh)V5MB0_C$WyYI9MTeenrd z|3RCELTH+ujZl<@tDWW-s_FmB>Nsg^<~QI(QIL@sj2KJVFSh(JyU~xXq(muPSKVY5 zPjdTsGPMb!xnl>xs+Q=Zta|G;yxb=Zm%b*Xnn@3xqho+{Cs((% zn8EZR`9#STQzEJEIMp{Twqo2iLLt$XTkgoM?-5?dJX4D)i0q> z=}#QCqjEEZ$ZyZIl56F{RA!Bb*^gT(M+^v+gqU#EBivoUgEa| z%}e9Lh9YXsC3YOh@^FzNrGfy7qq;5RP%>#(B~Ku!(&o=C*m(>Wf>qME)od&caqN9!9?v$t{s_U(=$diQxw7{5$Ok7KZf4$VAnU@I`fhCMl|FY zi;<0!Urb}?{lf>Q%Ng9Yapmw{L_*1t>qcfXI!8_EeRq|bc{>_|B4Dt<+C|2}j`p;K z9ZE?@cDcd&2NAtImxb*rA;3^y^e&ZN7ySAm6@+zc%VmPhxBzN&R z1`Iuv1#C@@?hzPOg8!O7H#LC(#`iN*Z$5#HA2>cu-NbHFEqVy&Y-zJ&+)hOCMZaTbZ_JoQqH_T?Rz69k}qa9gmJ zY@mL0kI7njg@*`^bkvBjd$e|&g#~I2c7hBvsp9z@4T6v5Z!TOLfmR1(x-YeFmXbm+ zqSAn*&8yTLT?z#SwQ$}&2L9}7+*~@AW#Ox9C zY2C6UD|u1Zn;eM)Z<0k~E0PxHN)QP|%2}2*I%7}_%?)ZJkg9m!EJrJ=4Hfif;2R8j()O9sLfE%F+5UZ4-i+UQ z+Gx{-9@$zsaydiMScDEj#Ohq-LlX5--dpTE0V>FX`Vhc#S8ImS$ERgh7=}p)GlDUo zgB7H5TBs{BtPCxBn~X_@2Af$%(D5scHFSa-&k{-Q7S>68aZw3JSWjL&d^I074}HJ~ zvePapcA+-qp2g?D5k=xCzD+izQG_9m27A@)9)BNTV09hGjVP@X;YzG+7N0JKUzBN5 zRZUh5-#LvGSUfpbxRisFS1@!+h&#d?N$E?XwO!^8N+6;LnD%=4Q8wyZ=b5e`iiNNoJbdk-fU7~02me}e~H zIU+ZEyk<>HXSW^dq6W>%c@PzM_xm$yhitZKm@mqb+Nft#=YiDmqqAn)X;DW4HtCLs zR`I4`Y~=$`Ec&ydU1Y~5~`%!k(>KTUz> zKsz9+83pdg*Px{II;nO&y-0(o_vQ-uX9~>{Azh$5x|tJn5DD@PPMC4sXUKuqsc1Qf zx^nOp%di-AU1_O?PVrJfMypou!>eTjHN>fU6B7H_y4;$0N_h4dvzfct&4R*&B;Jiv zJWVVcvH+rV8a^buH&_e=V)V!}2tNflXlS4mxe1@9;LB)RStbRBfgk(iP2sMIobh5P z0eqjC9Z4I7)0vbLyeeZexvVj$rGfMyU}zUcyihEL;*dC65?yT!asOW+-K83K9Qk1)0Ln(+=`qC_Wo9 z8je+yl(F;SPL+JU(9~1_w=R*+(=1|J3c5oKu)ek5Lqx~5;I@-rOGY0axpnuj&&9aj z^BHsGRwFH^(%Qp5vO!Gc`Pz4_5=8e5cn~?-5!I{DF~8wj_1crVaB>GY!q0wyt|}#V zoJaH58h9(hMaKvh5%VmO-T@pav%J-BP<+v%G#?S3D3DEm#p=ye zPg;N5qI7of72V%E^1GI?a*G{%zc&eKNpdLNmqZ0-v%Qu<3n=wOD$ z+~0HW(m9JK>p$f=-^wGL5yQE_gjw7eg2a9gIb^#?wg zD`Mq?4MRtGI*)x+aPe{dS;E@R2vLMRRn^Qv_e(1~M-oDFEpkwQ_fX_G$jLTQkm=O? z)q6Eg-hF4+WxtLSE}Y~%uIGMO+qxVusW;koe)r^j>WBH<00zO3rzi3H3p9L4;j!z{ z^-%m7CW;>$zNcpl(U2EJ(#|i&iO-S`t*nA+Uv8qX>lYJ#nkp9sXUxih1 zw;7fYHLt}FoT#t)=ffrUG(zDX^QU*qj;F7LN)`268*alpXt8v-I75=r=_^YRau(6y+fD` zv#`SMIE-I2vW4#DC7QuSTL;End!*8XAo0>@R@F8G?H&K4-2Lq@NSc-+7=;-^ugT-F z-H?@g#fBQ(S8e5fndZaUJ*`jjkreL1ah)875}>9Dubkse82_w*a(CqJi7p^_pJ}*3 zPM^Ry*Z5N?9;e`I^|IVLkzaq ztbNA9nwl2B08W{Z*koVc$rO<{>L&GH?p+0fbwKUO{7CN~PGxfgg%Y|z5%Y<02HEP!Vn z%H|Tpm&Q;+uH(tIa(-Xq>0{;@Ijaw<_aTqILh+=xy8*q%Cww|1%5yab)QIqLdLCb> zB}5^bfJ_RQB!W5E)hI!}=5mfNPXlG-K#=Ti0U0Rx0|8;IDguy7X}*g{kEgG=#%XiB z%>+)>q5>h@O#& z9ysAYY~X)5^ZuI`sOUdps{Y3PBe35J{;ldV@`U`~0de!W+Zz~JnK%;~nwVMG@{nJ3 z^pF!;81s;;vB=QN*bAAMTZnr)nkae7DjRuP8F3hs^YOxPyK}nR*xQ&m8xXqNSlc>r zy7Q157~2_|aDLnWxar6V|AjbP@sLZ{7?_!Ga*DWHm@3=ZSrala(K0iVf0H;Gn{p}& zi~c9YcaMkM+}YWlla9{K&5hQLiPp~1jE;eWgM*Hqk&cm(<{Lrd zPxnnlNXY#kC{77mXA?&|dlN?kLknvQXAcQmV-t5?MGkiEe+P)D|9>F9gQ5H9>Hi~| z|N97?ElmGAds`>ke_tl8k(~|QKfnBsAphxd{`*FyO>E7a&3PGFS-AfN{V(r7`TRFj t&BFK_$;SM@kpJQQe~tP-68WB*?@6Njuc`j-{MTYJvHe~lj^9h+{{Z{}+5`Xq literal 0 HcmV?d00001 diff --git a/content/blog/2026-08-17-large-object-caching/latency-table.webp b/content/blog/2026-08-17-large-object-caching/latency-table.webp new file mode 100644 index 0000000000000000000000000000000000000000..81442b9d0644fcc4c82cf30f19a311e875ddd5e7 GIT binary patch literal 8750 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 Date: Thu, 27 Aug 2026 15:18:15 -0500 Subject: [PATCH 2/4] updates from PR review Signed-off-by: Allen Helton --- .../config-table.webp | Bin 12756 -> 0 bytes .../2026-08-17-large-object-caching/index.md | 58 ++++++++++++------ .../latency-table-with-9.webp | Bin 14126 -> 0 bytes .../latency-table.webp | Bin 8750 -> 0 bytes 4 files changed, 39 insertions(+), 19 deletions(-) delete mode 100644 content/blog/2026-08-17-large-object-caching/config-table.webp delete mode 100644 content/blog/2026-08-17-large-object-caching/latency-table-with-9.webp delete mode 100644 content/blog/2026-08-17-large-object-caching/latency-table.webp diff --git a/content/blog/2026-08-17-large-object-caching/config-table.webp b/content/blog/2026-08-17-large-object-caching/config-table.webp deleted file mode 100644 index 235ff07e1cd0ead6ad574d4bfdae9c67937d2b5c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12756 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 and calls `writev()`. The heavy lifting happens in parallel with command execution. +The reply path builds an `iovec`, a pointer-and-length pair describing one region of memory, aimed straight at `obj->ptr`. It hands an array of them to [`writev()`](https://man7.org/linux/man-pages/man2/writev.2.html), which writes every region to the socket in a single syscall. No copy is performed because the 10MB object clears the size threshold. With I/O threads enabled, the write also moves off the main thread, so the heavy lifting overlaps command execution. + +For reference, all of this lives in `networking.c`. [`isCopyAvoidPreferred()`](https://github.com/valkey-io/valkey/blob/df7cdc1d998bcc2f4ab86ac0e8a1c51fa0a7d6c1/src/networking.c#L253) decides whether a reply is eligible, [`_addBulkStrRefToBufferOrList()`](https://github.com/valkey-io/valkey/blob/df7cdc1d998bcc2f4ab86ac0e8a1c51fa0a7d6c1/src/networking.c#L753) writes the reference instead of the bytes, and [`writevToClient()`](https://github.com/valkey-io/valkey/blob/df7cdc1d998bcc2f4ab86ac0e8a1c51fa0a7d6c1/src/networking.c#L2711) performs the gather-write. ## Back to the Party Would copy avoidance fix the noisy neighbor problem? We ran the mixed workload test on both versions: -![Latency table: under 10MB noise, 8.1 hits 26.2ms at p99.9 while 9.0 stays at 3.10ms.](./latency-table-with-9.webp) +| 1KB Latency | p50 | p90 | p99 | p99.9 | p99.99 | max | +|---|---|---|---|---|---|---| +| 8.1 baseline | 295µs | 352µs | 416µs | 489µs | 578µs | 2.80ms | +| 8.1 + 10MB noise | 289µs | 350µs | 500µs | **26.2ms** | **30.1ms** | **37.2ms** | +| 9.0 baseline | 291µs | 346µs | 403µs | 479µs | 557µs | 3.26ms | +| 9.0 + 10MB noise | 295µs | 360µs | 799µs | **3.10ms** | **5.80ms** | **11.9ms** | -In 9.0, the large object traffic has essentially no impact on the small object workload. p99 stays at 8ms. The main thread isn't blocking on memcpy, so small requests keep flowing even when large ones are in flight. +In 9.0, the long tail holds up. p99.9 under noise drops from 26.2ms to 3.10ms, and max from 37.2ms to 11.9ms. The main thread isn't blocking on `memcpy`, so small requests keep flowing even when large ones are in flight. There's still a small cost (p99 goes from 403µs to 799µs) but it's marginal. The party crashers got kicked out. Well, not really. They were ushered to the dance floor where they now play nicely with everyone else. ## The Secret Menu -You don't need to tune anything to get these gains. The optimization is controlled by three configs that aren't in the default config file. The [secret menu](https://github.com/valkey-io/valkey/blob/fa5964312801ec435147ecd0667da03aad229434/src/config.c#L3319), if you will. The defaults are sane: +You don't need to tune the copy avoidance configs to get these gains, though you do need I/O threads enabled (`io-threads` still defaults to 1). The optimization is controlled by three configs that aren't in the default config file. The [secret menu](https://github.com/valkey-io/valkey/blob/df7cdc1d998bcc2f4ab86ac0e8a1c51fa0a7d6c1/src/config.c#L3331), if you will. The defaults are sane: -![Table of three Valkey configs controlling copy avoidance, with defaults of 7 I/O threads, 16KB, and 64KB.](./config-table.webp) +| Config | Default | Effect | +|---|---|---| +| `min-io-threads-avoid-copy-reply` | 7 | With 7+ I/O threads, always use copy avoidance | +| `min-string-size-avoid-copy-reply` | 16KB | Size threshold in single-threaded mode | +| `min-string-size-avoid-copy-reply-threaded` | 64KB | Size threshold with I/O threads enabled | The defaults work for most use-cases. But now you know where to look if you want to tune for your specific workload. -This is one of many community-driven optimizations in Valkey. Individually, they're incremental. Together, they compound. I'm excited about upcoming changes like [PR #2976](https://github.com/valkey-io/valkey/pull/2976), which offloads read commands to worker threads entirely, removing the main thread from the read path. +This is one of many community-driven optimizations in Valkey. Individually, they're incremental. Together, they compound. I'm excited about upcoming changes like [PR #2976](https://github.com/valkey-io/valkey/pull/2976), which offloads eligible read commands to worker threads in cluster mode, taking the main thread off the read path for those commands. Large objects are not going away. If anything, they are becoming the common case. A 10MB blob looked like an outlier when we designed this benchmark, but now it describes an inference workload. Teams moving KV cache off the GPU and onto a shared tier will run this same experiment in production, with small reads and multi-megabyte blocks competing for the same main thread. Valkey 9.0 means they get to keep both. The party crashers can stay, and everybody keeps dancing. 🕺 +## What to do next + +If you are serving large objects out of Valkey today, the path is short. [Upgrade to 9.0](https://download.valkey.io/releases/), enable I/O threads, and re-run your own mixed workload watching p99.9 rather than p99. Start with the defaults values. The configs in the secret menu are there if you need them. + +If your results look different from ours, the community wants to hear about it. Bring them to [Slack](https://valkey.io/slack) or the [community page](https://valkey.io/community/). + *Special thanks to [Madelyn Olson](https://www.linkedin.com/in/madelyn-olson-valkey/) for guidance on how parameters work and for technical feedback on benchmark methodology.* diff --git a/content/blog/2026-08-17-large-object-caching/latency-table-with-9.webp b/content/blog/2026-08-17-large-object-caching/latency-table-with-9.webp deleted file mode 100644 index e2463b1c9246010d1862566019a4b19870da2252..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14126 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 diff --git a/content/blog/2026-08-17-large-object-caching/latency-table.webp b/content/blog/2026-08-17-large-object-caching/latency-table.webp deleted file mode 100644 index 81442b9d0644fcc4c82cf30f19a311e875ddd5e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8750 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 Date: Thu, 27 Aug 2026 16:46:53 -0500 Subject: [PATCH 3/4] updates for correctness Signed-off-by: Allen Helton --- .../copy-avoidance-9.webp | Bin 22828 -> 22482 bytes .../2026-08-17-large-object-caching/index.md | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/content/blog/2026-08-17-large-object-caching/copy-avoidance-9.webp b/content/blog/2026-08-17-large-object-caching/copy-avoidance-9.webp index 190336e738f9b5dabcdef746a186dd7c9c283aa5..e90f01bd7a637859db37cb5bfe0404e38195b9f2 100644 GIT binary patch literal 22482 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 O`Jn%*v9q!LbNWB}yKja7 diff --git a/content/blog/2026-08-17-large-object-caching/index.md b/content/blog/2026-08-17-large-object-caching/index.md index 5716816d..f8407eac 100644 --- a/content/blog/2026-08-17-large-object-caching/index.md +++ b/content/blog/2026-08-17-large-object-caching/index.md @@ -50,11 +50,11 @@ Valkey 9.0 flips the script. Instead of copying 10MB, the main thread writes a 1 **AFTER (Valkey 9.0)** -![Flowchart of the Valkey 9.0 reply path with copy avoidance. The main thread writes only a 16-byte bulkStrRef into the reply buffer instead of the object itself. An I/O thread builds an iovec from that reference and calls writev, so the 10MB payload travels straight from the object store to the socket along a zero-copy data path, never being copied into the reply buffer.](./copy-avoidance-9.webp) +![Flowchart of the Valkey 9.0 reply path with copy avoidance. Instead of the object itself, the main thread writes only a 16-byte bulkStrRef into the reply buffer. An I/O thread builds an iovec from that reference and calls writev. A dashed line labeled "no reply-buffer copy" runs from the 10MB object in the object store directly to the socket: the payload is sent from where it already lives rather than being staged through the reply buffer.](./copy-avoidance-9.webp) *Main-thread copy bandwidth: ~0 — just pointer/reference management.* -The reply path builds an `iovec`, a pointer-and-length pair describing one region of memory, aimed straight at `obj->ptr`. It hands an array of them to [`writev()`](https://man7.org/linux/man-pages/man2/writev.2.html), which writes every region to the socket in a single syscall. No copy is performed because the 10MB object clears the size threshold. With I/O threads enabled, the write also moves off the main thread, so the heavy lifting overlaps command execution. +The reply path builds an `iovec`, a pointer-and-length pair describing one region of memory, aimed straight at `obj->ptr`. It hands an array of them to [`writev()`](https://man7.org/linux/man-pages/man2/writev.2.html), so the payload never gets copied into Valkey's reply buffer at all. The kernel still copies it to the socket, and `writevToClient()` loops over partial writes, yielding after 64KB per event so a single large reply can't monopolize the loop. With I/O threads enabled, that work also moves off the main thread and overlaps command execution. For reference, all of this lives in `networking.c`. [`isCopyAvoidPreferred()`](https://github.com/valkey-io/valkey/blob/df7cdc1d998bcc2f4ab86ac0e8a1c51fa0a7d6c1/src/networking.c#L253) decides whether a reply is eligible, [`_addBulkStrRefToBufferOrList()`](https://github.com/valkey-io/valkey/blob/df7cdc1d998bcc2f4ab86ac0e8a1c51fa0a7d6c1/src/networking.c#L753) writes the reference instead of the bytes, and [`writevToClient()`](https://github.com/valkey-io/valkey/blob/df7cdc1d998bcc2f4ab86ac0e8a1c51fa0a7d6c1/src/networking.c#L2711) performs the gather-write. From 0f091367068d08f34415e815d203a66c40143419 Mon Sep 17 00:00:00 2001 From: Allen Helton Date: Mon, 14 Sep 2026 09:46:29 -0500 Subject: [PATCH 4/4] update images to valkey colors and add link to GET documentation Signed-off-by: Allen Helton --- .../copy-avoidance-8.webp | Bin 18198 -> 15034 bytes .../copy-avoidance-9.webp | Bin 22482 -> 20064 bytes .../2026-08-17-large-object-caching/index.md | 2 +- 3 files changed, 1 insertion(+), 1 deletion(-) diff --git a/content/blog/2026-08-17-large-object-caching/copy-avoidance-8.webp b/content/blog/2026-08-17-large-object-caching/copy-avoidance-8.webp index 9e3739a6224149abaa9576884f32c2cf5c8ccdb0..8310bcb529c3b4022d466c5ce2d85147c7c94aeb 100644 GIT binary patch literal 15034 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 aKLGo;0@(jVP~qnK$Nn3QnThE?qyGyPpfH30 delta 18139 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 literal 22482 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 Qaj{4CpPK*}{Lk