{
    "componentChunkName": "component---src-templates-note-note-js",
    "path": "/notes/latency",
    "result": {"data":{"mdx":{"body":"var _excluded = [\"components\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n/* @jsxRuntime classic */\n/* @jsx mdx */\n\nvar _frontmatter = {};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n    props = _objectWithoutProperties(_ref, _excluded);\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"p\", null, \"30 ms was the threshold we had kept for my team at \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/notes/Blinkit\",\n    \"title\": \"Blinkit\"\n  }, \"Blinkit\"), \". but if you have redis caching enabled and there is not much processing happening sub 10 ms is easily doable.\"), mdx(\"p\", null, \"for smoothness of web applications it should never go more than 100ms and in case if it does, we should take care of engaging the user in other ways.\"), mdx(\"p\", null, \"For example, if our client is in New York, the server is in London, and we are starting a new TCP connection over a fiber link, then the three-way handshake will take a minimum of 56 milliseconds\"), mdx(\"h2\", null, \"components\"), mdx(\"p\", null, \"\", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/notes/Propagation-delay\",\n    \"title\": \"Propagation delay\"\n  }, \"Propagation delay\"), \"\"), mdx(\"p\", null, \"Amount of time required for a message to travel from the sender to receiver, which is a function of distance over speed with which the signal propagates.\"), mdx(\"p\", null, \"\", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/notes/Transmission-delay\",\n    \"title\": \"Transmission delay\"\n  }, \"Transmission delay\"), \"\"), mdx(\"p\", null, \"Amount of time required to push all the packet\\u2019s bits into the link, which is a function of the packet\\u2019s length and data rate of the link.\"), mdx(\"p\", null, \"\", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/notes/Processing-delay\",\n    \"title\": \"Processing delay\"\n  }, \"Processing delay\"), \"\"), mdx(\"p\", null, \"Amount of time required to process the packet header, check for bit-level errors, and determine the packet\\u2019s destination.\"), mdx(\"p\", null, \"\", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/notes/Queuing-delay\",\n    \"title\": \"Queuing delay\"\n  }, \"Queuing delay\"), \"\"), mdx(\"p\", null, \"Amount of time the packet is waiting in the queue until it can be processed.\"), mdx(\"h2\", null, \"contributing factors\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"location/distance\", mdx(\"ol\", {\n    parentName: \"li\"\n  }, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"propagation delay\"))), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"network congestion\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"protocol efficiency\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"networking infra\")));\n}\n;\nMDXContent.isMDXComponent = true;","inboundReferences":[{"id":"31820287-0a7c-5281-9aeb-7d0ad28f8485","slug":"Computer-Resources"},{"id":"38fcefda-07b9-58c1-abf3-e20e3bfed875","slug":"throughput-versus-latency"}]}},"pageContext":{"slug":"latency","node":{"childMdx":{"slug":"latency"}}}},
    "staticQueryHashes": []}