diff --git a/src/components/TechNotes/RouterResourceEstimator.js b/src/components/TechNotes/RouterResourceEstimator.js index 683cd9b04..0444e4a85 100644 --- a/src/components/TechNotes/RouterResourceEstimator.js +++ b/src/components/TechNotes/RouterResourceEstimator.js @@ -31,6 +31,7 @@ const RouterResourceEstimator = () => { const [peakRequestRatePerSecond, setPeakRequestRatePerSecond] = useState(''); const [baselineSubgraphLatency, setBaselineSubgraphLatency] = useState('100'); const [clientRequestSize, setClientRequestSize] = useState('0.1'); + const [averageQueryPlanFetchNodes, setAverageQueryPlanFetchNodes] = useState('1'); const [clientResponseSize, setClientResponseSize] = useState('0.1'); const [numberOfInstances, setNumberOfInstances] = useState('3'); const [baseMemory, setBaseMemory] = useState('100'); @@ -42,6 +43,8 @@ const RouterResourceEstimator = () => { const Ls = parseFloat(baselineSubgraphLatency) / 1000; const Sreq = parseFloat(clientRequestSize); const Sres = parseFloat(clientResponseSize); + // If you average more than 2 subgraphs fetches add a multiplier + const Sqp = parseFloat(averageQueryPlanFetchNodes) / 2 + 1; const I = parseFloat(numberOfInstances); const Mb = parseFloat(baseMemory); const Mq = parseFloat(queryPlannerMemory); @@ -60,7 +63,7 @@ const RouterResourceEstimator = () => { // Rate per vcpu, assuming 80% utilization const Rc = 0.8 / (L - Ls); // Memory usage per vcpu - const Mc = (Sreq + Sres) * Rc * L; + const Mc = (Sreq * Sqp + Sres) * Rc * L; // Number of vCPUs needed const vBaseline = Math.max(Math.round(R / Rc), 1); // Number of vCPUs needed for peak traffic @@ -174,6 +177,30 @@ const RouterResourceEstimator = () => { + // Client Request Query Plan Size + + + Average Request Query Plan Size + + + setAverageQueryPlanFetchNodes(value)} + > + + + + + + The average number of fetch nodes (subgraph calls) in your query plans + + + + // Client Response Size diff --git a/src/content/technotes/TN0045-router_resource_estimator.mdx b/src/content/technotes/TN0045-router-resource-estimator.mdx similarity index 100% rename from src/content/technotes/TN0045-router_resource_estimator.mdx rename to src/content/technotes/TN0045-router-resource-estimator.mdx