[{"data":1,"prerenderedAt":365},["ShallowReactive",2],{"term-s\u002Fsoak-test":3,"related-s\u002Fsoak-test":350},{"id":4,"title":5,"acronym":6,"body":7,"category":332,"description":333,"difficulty":334,"extension":335,"letter":336,"meta":337,"navigation":101,"path":338,"related":339,"seo":344,"sitemap":345,"stem":348,"subcategory":6,"__hash__":349},"terms\u002Fterms\u002Fs\u002Fsoak-test.md","Soak Test",null,{"type":8,"value":9,"toc":326},"minimark",[10,15,19,23,26,30,315,319,322],[11,12,14],"h2",{"id":13},"eli5-the-vibe-check","ELI5 - The Vibe Check",[16,17,18],"p",{},"A soak test is when you leave your app running under a steady, realistic load for hours or days instead of minutes, because some bugs only show up slowly. A memory leak might be invisible in a five-minute load test and completely obvious after twelve hours, like a slow leak in a tire that's fine on a short drive but flat by morning.",[11,20,22],{"id":21},"real-talk","Real Talk",[16,24,25],{},"A soak test, also called an endurance test, runs a system under sustained, typically moderate load for an extended duration to detect issues that only manifest over time, such as memory leaks, resource exhaustion, connection pool starvation, or gradual performance degradation. It complements load and stress testing, which focus on peak capacity rather than long-term stability.",[11,27,29],{"id":28},"show-me-the-code","Show Me The Code",[31,32,37],"pre",{"className":33,"code":34,"language":35,"meta":36,"style":36},"language-javascript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import http from 'k6\u002Fhttp';\nimport { sleep } from 'k6';\n\nexport const options = {\n  stages: [\n    { duration: '5m', target: 50 },   \u002F\u002F ramp up\n    { duration: '12h', target: 50 },  \u002F\u002F soak at steady load\n    { duration: '5m', target: 0 },    \u002F\u002F ramp down\n  ],\n};\n\nexport default function () {\n  http.get('https:\u002F\u002Fmyapp.com\u002Fapi\u002Fhealth');\n  sleep(1);\n}\n","javascript","",[38,39,40,70,96,103,122,135,172,201,230,239,245,250,266,294,309],"code",{"__ignoreMap":36},[41,42,45,49,53,56,60,64,67],"span",{"class":43,"line":44},"line",1,[41,46,48],{"class":47},"s7zQu","import",[41,50,52],{"class":51},"sTEyZ"," http ",[41,54,55],{"class":47},"from",[41,57,59],{"class":58},"sMK4o"," '",[41,61,63],{"class":62},"sfazB","k6\u002Fhttp",[41,65,66],{"class":58},"'",[41,68,69],{"class":58},";\n",[41,71,73,75,78,81,84,87,89,92,94],{"class":43,"line":72},2,[41,74,48],{"class":47},[41,76,77],{"class":58}," {",[41,79,80],{"class":51}," sleep",[41,82,83],{"class":58}," }",[41,85,86],{"class":47}," from",[41,88,59],{"class":58},[41,90,91],{"class":62},"k6",[41,93,66],{"class":58},[41,95,69],{"class":58},[41,97,99],{"class":43,"line":98},3,[41,100,102],{"emptyLinePlaceholder":101},true,"\n",[41,104,106,109,113,116,119],{"class":43,"line":105},4,[41,107,108],{"class":47},"export",[41,110,112],{"class":111},"spNyl"," const",[41,114,115],{"class":51}," options ",[41,117,118],{"class":58},"=",[41,120,121],{"class":58}," {\n",[41,123,125,129,132],{"class":43,"line":124},5,[41,126,128],{"class":127},"swJcz","  stages",[41,130,131],{"class":58},":",[41,133,134],{"class":51}," [\n",[41,136,138,141,144,146,148,151,153,156,159,161,165,168],{"class":43,"line":137},6,[41,139,140],{"class":58},"    {",[41,142,143],{"class":127}," duration",[41,145,131],{"class":58},[41,147,59],{"class":58},[41,149,150],{"class":62},"5m",[41,152,66],{"class":58},[41,154,155],{"class":58},",",[41,157,158],{"class":127}," target",[41,160,131],{"class":58},[41,162,164],{"class":163},"sbssI"," 50",[41,166,167],{"class":58}," },",[41,169,171],{"class":170},"sHwdD","   \u002F\u002F ramp up\n",[41,173,175,177,179,181,183,186,188,190,192,194,196,198],{"class":43,"line":174},7,[41,176,140],{"class":58},[41,178,143],{"class":127},[41,180,131],{"class":58},[41,182,59],{"class":58},[41,184,185],{"class":62},"12h",[41,187,66],{"class":58},[41,189,155],{"class":58},[41,191,158],{"class":127},[41,193,131],{"class":58},[41,195,164],{"class":163},[41,197,167],{"class":58},[41,199,200],{"class":170},"  \u002F\u002F soak at steady load\n",[41,202,204,206,208,210,212,214,216,218,220,222,225,227],{"class":43,"line":203},8,[41,205,140],{"class":58},[41,207,143],{"class":127},[41,209,131],{"class":58},[41,211,59],{"class":58},[41,213,150],{"class":62},[41,215,66],{"class":58},[41,217,155],{"class":58},[41,219,158],{"class":127},[41,221,131],{"class":58},[41,223,224],{"class":163}," 0",[41,226,167],{"class":58},[41,228,229],{"class":170},"    \u002F\u002F ramp down\n",[41,231,233,236],{"class":43,"line":232},9,[41,234,235],{"class":51},"  ]",[41,237,238],{"class":58},",\n",[41,240,242],{"class":43,"line":241},10,[41,243,244],{"class":58},"};\n",[41,246,248],{"class":43,"line":247},11,[41,249,102],{"emptyLinePlaceholder":101},[41,251,253,255,258,261,264],{"class":43,"line":252},12,[41,254,108],{"class":47},[41,256,257],{"class":47}," default",[41,259,260],{"class":111}," function",[41,262,263],{"class":58}," ()",[41,265,121],{"class":58},[41,267,269,272,275,279,282,284,287,289,292],{"class":43,"line":268},13,[41,270,271],{"class":51},"  http",[41,273,274],{"class":58},".",[41,276,278],{"class":277},"s2Zo4","get",[41,280,281],{"class":127},"(",[41,283,66],{"class":58},[41,285,286],{"class":62},"https:\u002F\u002Fmyapp.com\u002Fapi\u002Fhealth",[41,288,66],{"class":58},[41,290,291],{"class":127},")",[41,293,69],{"class":58},[41,295,297,300,302,305,307],{"class":43,"line":296},14,[41,298,299],{"class":277},"  sleep",[41,301,281],{"class":127},[41,303,304],{"class":163},"1",[41,306,291],{"class":127},[41,308,69],{"class":58},[41,310,312],{"class":43,"line":311},15,[41,313,314],{"class":58},"}\n",[11,316,318],{"id":317},"when-youll-hear-this","When You'll Hear This",[16,320,321],{},"\"The soak test caught a connection leak that a 10-minute load test would never have found.\" \u002F \"Run a 24-hour soak test before we trust this service in production.\"",[323,324,325],"style",{},"html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":36,"searchDepth":72,"depth":72,"links":327},[328,329,330,331],{"id":13,"depth":72,"text":14},{"id":21,"depth":72,"text":22},{"id":28,"depth":72,"text":29},{"id":317,"depth":72,"text":318},"testing","A soak test is when you leave your app running under a steady, realistic load for hours or days instead of minutes, because some bugs only show up slowly.","beginner","md","s",{},"\u002Fterms\u002Fs\u002Fsoak-test",[340,341,342,343],"Load Test","Stress Test","Performance Test","Memory Leak",{"title":5,"description":333},{"changefreq":346,"priority":347},"weekly",0.7,"terms\u002Fs\u002Fsoak-test","I7Y8J6dLrhDq8QUEJHJMtduCZXAyAI1v_Dd4VM_8dsM",[351,355,359,362],{"title":340,"path":352,"acronym":6,"category":332,"difficulty":353,"description":354},"\u002Fterms\u002Fl\u002Fload-test","intermediate","A load test is when you throw a huge crowd of fake users at your app to see how it handles them.",{"title":343,"path":356,"acronym":6,"category":357,"difficulty":353,"description":358},"\u002Fterms\u002Fm\u002Fmemory-leak","general","A memory leak is when your program keeps grabbing more memory but never gives it back, like filling a bathtub without a drain.",{"title":342,"path":360,"acronym":6,"category":332,"difficulty":353,"description":361},"\u002Fterms\u002Fp\u002Fperformance-test","Performance testing is measuring how FAST your app is under various conditions. Is the homepage loading in under 2 seconds?",{"title":341,"path":363,"acronym":6,"category":332,"difficulty":353,"description":364},"\u002Fterms\u002Fs\u002Fstress-test","A stress test pushes your app BEYOND its limits to see when and how it breaks. A load test checks normal traffic.",1792528125289]