CINXE.COM
Using the Janet Network performance test facilities - Jisc
<!DOCTYPE html><html lang="en-GB"><head><script type="text/javascript" src="/_static/js/bundle-playback.js?v=HxkREWBo" charset="utf-8"></script> <script type="text/javascript" src="/_static/js/wombat.js?v=txqj7nKC" charset="utf-8"></script> <script>window.RufflePlayer=window.RufflePlayer||{};window.RufflePlayer.config={"autoplay":"on","unmuteOverlay":"hidden"};</script> <script type="text/javascript" src="/_static/js/ruffle/ruffle.js"></script> <script type="text/javascript"> __wm.init("http://web.archive.org/web"); __wm.wombat("https://www.jisc.ac.uk/guides/using-the-janet-network-performance-test-facilities","20240227040306","http://web.archive.org/","web","/_static/", "1709006586"); </script> <link rel="stylesheet" type="text/css" href="/_static/css/banner-styles.css?v=S1zqJCYt" /> <link rel="stylesheet" type="text/css" href="/_static/css/iconochive.css?v=3PDvdIFv" /> <!-- End Wayback Rewrite JS Include --> <meta charset="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><title>Using the Janet Network performance test facilities - Jisc</title><meta name="description" content="How members can use Jisc's network performance test servers to diagnose and troubleshoot their network issues."/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:site" content="@jisc"/><meta property="twitter:image"/><meta property="twitter:image:alt" content=""/><meta property="og:title" content="Using the Janet Network performance test facilities - Jisc"/><meta property="og:description" content="How members can use Jisc's network performance test servers to diagnose and troubleshoot their network issues."/><meta property="og:type" content="website"/><meta property="og:site_name" content="Jisc"/><meta property="og:url" content="http://web.archive.org/web/20240227040306/https://beta.jisc.ac.uk/guides/using-the-janet-network-performance-test-facilities"/><meta property="og:image"/><meta property="og:image:alt" content=""/><meta name="next-head-count" content="15"/><meta http-equiv="Content-Security-Policy" content=""/><meta name="robots" content="index, follow"/><meta name="google-site-verification" content="UNqcoVblscrmuOfPyGUTeRMyNRcroUK_U9ghx-PFl0Q"/><link rel="apple-touch-icon" sizes="180x180" href="/web/20240227040306im_/https://www.jisc.ac.uk/apple-touch-icon.png"/><link rel="manifest" href="/web/20240227040306/https://www.jisc.ac.uk/site.webmanifest"/><link rel="preconnect" href="http://web.archive.org/web/20240227040306/https://fonts.gstatic.com/" crossorigin/><link rel="preload" href="/web/20240227040306/https://www.jisc.ac.uk/_next/static/css/c71e2eb9d5f58a34.css" as="style"/><link rel="stylesheet" href="/web/20240227040306cs_/https://www.jisc.ac.uk/_next/static/css/c71e2eb9d5f58a34.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/web/20240227040306js_/https://www.jisc.ac.uk/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/web/20240227040306js_/https://www.jisc.ac.uk/_next/static/chunks/webpack-cefddfb7403e4fd5.js" defer=""></script><script src="/web/20240227040306js_/https://www.jisc.ac.uk/_next/static/chunks/framework-92a422f151f77ddb.js" defer=""></script><script src="/web/20240227040306js_/https://www.jisc.ac.uk/_next/static/chunks/main-b7b1d23e11800ea1.js" defer=""></script><script src="/web/20240227040306js_/https://www.jisc.ac.uk/_next/static/chunks/pages/_app-f82791795eb58916.js" defer=""></script><script src="/web/20240227040306js_/https://www.jisc.ac.uk/_next/static/chunks/653-32bafc607c9d7b18.js" defer=""></script><script src="/web/20240227040306js_/https://www.jisc.ac.uk/_next/static/chunks/5785-48f49357a2a50076.js" defer=""></script><script src="/web/20240227040306js_/https://www.jisc.ac.uk/_next/static/chunks/6649-e004daf2b30cf83b.js" defer=""></script><script src="/web/20240227040306js_/https://www.jisc.ac.uk/_next/static/chunks/7758-d4bdcd49824ecc1b.js" defer=""></script><script src="/web/20240227040306js_/https://www.jisc.ac.uk/_next/static/chunks/7433-394f70b2d63a646a.js" defer=""></script><script src="/web/20240227040306js_/https://www.jisc.ac.uk/_next/static/chunks/8935-6c1bf2111ed2b8bd.js" defer=""></script><script src="/web/20240227040306js_/https://www.jisc.ac.uk/_next/static/chunks/542-885fdfe9a39a717d.js" defer=""></script><script src="/web/20240227040306js_/https://www.jisc.ac.uk/_next/static/chunks/3722-9fac8acde93f3fec.js" defer=""></script><script src="/web/20240227040306js_/https://www.jisc.ac.uk/_next/static/chunks/8239-a6c3d989f1e5f9c9.js" defer=""></script><script src="/web/20240227040306js_/https://www.jisc.ac.uk/_next/static/chunks/814-fa0f70416c3d6cea.js" defer=""></script><script src="/web/20240227040306js_/https://www.jisc.ac.uk/_next/static/chunks/3028-62cbdb2ea442f939.js" defer=""></script><script src="/web/20240227040306js_/https://www.jisc.ac.uk/_next/static/chunks/9177-b0f7a5239df17233.js" defer=""></script><script src="/web/20240227040306js_/https://www.jisc.ac.uk/_next/static/chunks/4031-44b8f159d6287c42.js" defer=""></script><script src="/web/20240227040306js_/https://www.jisc.ac.uk/_next/static/chunks/607-53a83fe5e28837da.js" defer=""></script><script src="/web/20240227040306js_/https://www.jisc.ac.uk/_next/static/chunks/3262-d06b629fdbcc83f6.js" defer=""></script><script src="/web/20240227040306js_/https://www.jisc.ac.uk/_next/static/chunks/4210-c8dd2d790233c3cc.js" defer=""></script><script src="/web/20240227040306js_/https://www.jisc.ac.uk/_next/static/chunks/9633-6bc6b50128d81548.js" defer=""></script><script src="/web/20240227040306js_/https://www.jisc.ac.uk/_next/static/chunks/4477-c133a61fe09fe714.js" defer=""></script><script src="/web/20240227040306js_/https://www.jisc.ac.uk/_next/static/chunks/7418-901562356cac876e.js" defer=""></script><script src="/web/20240227040306js_/https://www.jisc.ac.uk/_next/static/chunks/1190-ec52796f1b3aadac.js" defer=""></script><script src="/web/20240227040306js_/https://www.jisc.ac.uk/_next/static/chunks/8558-fe58da3bbf2ca2b0.js" defer=""></script><script src="/web/20240227040306js_/https://www.jisc.ac.uk/_next/static/chunks/1785-776435c2ae403e04.js" defer=""></script><script src="/web/20240227040306js_/https://www.jisc.ac.uk/_next/static/chunks/8812-64189dc81f86ae25.js" defer=""></script><script src="/web/20240227040306js_/https://www.jisc.ac.uk/_next/static/chunks/1093-91278d6800533446.js" defer=""></script><script src="/web/20240227040306js_/https://www.jisc.ac.uk/_next/static/chunks/pages/%5B...path%5D-faf574cb0fbad4d3.js" defer=""></script><script src="/web/20240227040306js_/https://www.jisc.ac.uk/_next/static/62phW-AXuCLFFYt9M070l/_buildManifest.js" defer=""></script><script src="/web/20240227040306js_/https://www.jisc.ac.uk/_next/static/62phW-AXuCLFFYt9M070l/_ssgManifest.js" defer=""></script><style id="jss-server-side">.MuiPaper-root { color: #333; transition: box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; background-color: #fff; } .MuiPaper-rounded { border-radius: 4px; } .MuiPaper-outlined { border: 1px solid rgba(0, 0, 0, 0.12); } .MuiPaper-elevation0 { box-shadow: none; } .MuiPaper-elevation1 { box-shadow: 0px 2px 1px -1px rgba(0,0,0,0.2),0px 1px 1px 0px rgba(0,0,0,0.14),0px 1px 3px 0px rgba(0,0,0,0.12); } .MuiPaper-elevation2 { box-shadow: 0px 3px 1px -2px rgba(0,0,0,0.2),0px 2px 2px 0px rgba(0,0,0,0.14),0px 1px 5px 0px rgba(0,0,0,0.12); } .MuiPaper-elevation3 { box-shadow: 0px 3px 3px -2px rgba(0,0,0,0.2),0px 3px 4px 0px rgba(0,0,0,0.14),0px 1px 8px 0px rgba(0,0,0,0.12); } .MuiPaper-elevation4 { box-shadow: 0px 2px 4px -1px rgba(0,0,0,0.2),0px 4px 5px 0px rgba(0,0,0,0.14),0px 1px 10px 0px rgba(0,0,0,0.12); } .MuiPaper-elevation5 { box-shadow: 0px 3px 5px -1px rgba(0,0,0,0.2),0px 5px 8px 0px rgba(0,0,0,0.14),0px 1px 14px 0px rgba(0,0,0,0.12); } .MuiPaper-elevation6 { box-shadow: 0px 3px 5px -1px rgba(0,0,0,0.2),0px 6px 10px 0px rgba(0,0,0,0.14),0px 1px 18px 0px rgba(0,0,0,0.12); } .MuiPaper-elevation7 { box-shadow: 0px 4px 5px -2px rgba(0,0,0,0.2),0px 7px 10px 1px rgba(0,0,0,0.14),0px 2px 16px 1px rgba(0,0,0,0.12); } .MuiPaper-elevation8 { box-shadow: 0px 5px 5px -3px rgba(0,0,0,0.2),0px 8px 10px 1px rgba(0,0,0,0.14),0px 3px 14px 2px rgba(0,0,0,0.12); } .MuiPaper-elevation9 { box-shadow: 0px 5px 6px -3px rgba(0,0,0,0.2),0px 9px 12px 1px rgba(0,0,0,0.14),0px 3px 16px 2px rgba(0,0,0,0.12); } .MuiPaper-elevation10 { box-shadow: 0px 6px 6px -3px rgba(0,0,0,0.2),0px 10px 14px 1px rgba(0,0,0,0.14),0px 4px 18px 3px rgba(0,0,0,0.12); } .MuiPaper-elevation11 { box-shadow: 0px 6px 7px -4px rgba(0,0,0,0.2),0px 11px 15px 1px rgba(0,0,0,0.14),0px 4px 20px 3px rgba(0,0,0,0.12); } .MuiPaper-elevation12 { box-shadow: 0px 7px 8px -4px rgba(0,0,0,0.2),0px 12px 17px 2px rgba(0,0,0,0.14),0px 5px 22px 4px rgba(0,0,0,0.12); } .MuiPaper-elevation13 { box-shadow: 0px 7px 8px -4px rgba(0,0,0,0.2),0px 13px 19px 2px rgba(0,0,0,0.14),0px 5px 24px 4px rgba(0,0,0,0.12); } .MuiPaper-elevation14 { box-shadow: 0px 7px 9px -4px rgba(0,0,0,0.2),0px 14px 21px 2px rgba(0,0,0,0.14),0px 5px 26px 4px rgba(0,0,0,0.12); } .MuiPaper-elevation15 { box-shadow: 0px 8px 9px -5px rgba(0,0,0,0.2),0px 15px 22px 2px rgba(0,0,0,0.14),0px 6px 28px 5px rgba(0,0,0,0.12); } .MuiPaper-elevation16 { box-shadow: 0px 8px 10px -5px rgba(0,0,0,0.2),0px 16px 24px 2px rgba(0,0,0,0.14),0px 6px 30px 5px rgba(0,0,0,0.12); } .MuiPaper-elevation17 { box-shadow: 0px 8px 11px -5px rgba(0,0,0,0.2),0px 17px 26px 2px rgba(0,0,0,0.14),0px 6px 32px 5px rgba(0,0,0,0.12); } .MuiPaper-elevation18 { box-shadow: 0px 9px 11px -5px rgba(0,0,0,0.2),0px 18px 28px 2px rgba(0,0,0,0.14),0px 7px 34px 6px rgba(0,0,0,0.12); } .MuiPaper-elevation19 { box-shadow: 0px 9px 12px -6px rgba(0,0,0,0.2),0px 19px 29px 2px rgba(0,0,0,0.14),0px 7px 36px 6px rgba(0,0,0,0.12); } .MuiPaper-elevation20 { box-shadow: 0px 10px 13px -6px rgba(0,0,0,0.2),0px 20px 31px 3px rgba(0,0,0,0.14),0px 8px 38px 7px rgba(0,0,0,0.12); } .MuiPaper-elevation21 { box-shadow: 0px 10px 13px -6px rgba(0,0,0,0.2),0px 21px 33px 3px rgba(0,0,0,0.14),0px 8px 40px 7px rgba(0,0,0,0.12); } .MuiPaper-elevation22 { box-shadow: 0px 10px 14px -6px rgba(0,0,0,0.2),0px 22px 35px 3px rgba(0,0,0,0.14),0px 8px 42px 7px rgba(0,0,0,0.12); } .MuiPaper-elevation23 { box-shadow: 0px 11px 14px -7px rgba(0,0,0,0.2),0px 23px 36px 3px rgba(0,0,0,0.14),0px 9px 44px 8px rgba(0,0,0,0.12); } .MuiPaper-elevation24 { box-shadow: 0px 11px 15px -7px rgba(0,0,0,0.2),0px 24px 38px 3px rgba(0,0,0,0.14),0px 9px 46px 8px rgba(0,0,0,0.12); } .MuiTypography-root { margin: 0; } .MuiTypography-body2 { font-size: .875rem; font-family: "Roboto", "Helvetica", "Arial", sans-serif; font-weight: 400; line-height: 1.428571428571429rem; letter-spacing: unset; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .MuiTypography-body2 b { font-weight: bolder; } .MuiTypography-body2 strong { font-weight: bolder; } .MuiTypography-body1 { font-size: 1rem; font-family: "Roboto", "Helvetica", "Arial", sans-serif; font-weight: 400; line-height: 1.5rem; letter-spacing: unset; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .MuiTypography-body1 b { font-weight: bolder; } .MuiTypography-body1 strong { font-weight: bolder; } .MuiTypography-caption { font-size: 0.75rem; font-family: "Roboto", "Helvetica", "Arial", sans-serif; font-weight: 400; line-height: 1.66; letter-spacing: 0.03333em; } .MuiTypography-button { font-size: 0.875rem; font-family: "Roboto", "Helvetica", "Arial", sans-serif; font-weight: 500; line-height: 1.75; letter-spacing: 0.02857em; text-transform: uppercase; } .MuiTypography-h1 { font-size: 2.5rem; font-family: "Roboto", "Helvetica", "Arial", sans-serif; font-weight: 400; line-height: 3.5rem; letter-spacing: unset; } @media (min-width:600px) { .MuiTypography-h1 { font-size: 2.75rem; line-height: 3.5rem; } } @media (min-width:960px) { .MuiTypography-h1 { font-size: 3rem; line-height: 4rem; } } .MuiTypography-h2 { font-size: 2rem; font-family: "Roboto", "Helvetica", "Arial", sans-serif; font-weight: 400; line-height: 3rem; letter-spacing: unset; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } @media (min-width:600px) { .MuiTypography-h2 { font-size: 2.25rem; line-height: 3rem; } } @media (min-width:960px) { .MuiTypography-h2 { font-size: 2.5rem; line-height: 3.5rem; } } .MuiTypography-h2 b { font-weight: bolder; } .MuiTypography-h2 strong { font-weight: bolder; } .MuiTypography-h3 { font-size: 1.5rem; font-family: "Roboto", "Helvetica", "Arial", sans-serif; font-weight: 500; line-height: 2rem; letter-spacing: unset; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } @media (min-width:600px) { .MuiTypography-h3 { font-size: 1.75rem; line-height: 2.5rem; } } @media (min-width:960px) { .MuiTypography-h3 { font-size: 2rem; line-height: 3rem; } } .MuiTypography-h3 b { font-weight: bolder; } .MuiTypography-h3 strong { font-weight: bolder; } .MuiTypography-h4 { font-size: 1.25rem; font-family: "Roboto", "Helvetica", "Arial", sans-serif; font-weight: 400; line-height: 2rem; letter-spacing: unset; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } @media (min-width:960px) { .MuiTypography-h4 { font-size: 1.5rem; line-height: 2rem; } } .MuiTypography-h4 b { font-weight: bolder; } .MuiTypography-h4 strong { font-weight: bolder; } .MuiTypography-h5 { font-size: 1rem; font-family: "Roboto", "Helvetica", "Arial", sans-serif; font-weight: 500; line-height: 1.5rem; letter-spacing: unset; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } @media (min-width:960px) { .MuiTypography-h5 { font-size: 1.25rem; line-height: 2rem; } } .MuiTypography-h5 b { font-weight: bolder; } .MuiTypography-h5 strong { font-weight: bolder; } .MuiTypography-h6 { font-size: .875rem; font-family: "Roboto", "Helvetica", "Arial", sans-serif; font-weight: 700; line-height: 1.5rem; letter-spacing: unset; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .MuiTypography-h6 b { font-weight: bolder; } .MuiTypography-h6 strong { font-weight: bolder; } .MuiTypography-subtitle1 { font-size: 1rem; font-family: "Roboto", "Helvetica", "Arial", sans-serif; font-weight: 400; line-height: 1.75; letter-spacing: 0.00938em; } .MuiTypography-subtitle2 { font-size: 1.25rem; font-family: "Roboto", "Helvetica", "Arial", sans-serif; font-weight: 400; line-height: 2rem; letter-spacing: unset; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .MuiTypography-subtitle2 b { font-weight: bolder; } .MuiTypography-subtitle2 strong { font-weight: bolder; } .MuiTypography-overline { font-size: 0.75rem; font-family: "Roboto", "Helvetica", "Arial", sans-serif; font-weight: 400; line-height: 2.66; letter-spacing: 0.08333em; text-transform: uppercase; } .MuiTypography-srOnly { width: 1px; height: 1px; overflow: hidden; position: absolute; } .MuiTypography-alignLeft { text-align: left; } .MuiTypography-alignCenter { text-align: center; } .MuiTypography-alignRight { text-align: right; } .MuiTypography-alignJustify { text-align: justify; } .MuiTypography-noWrap { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } .MuiTypography-gutterBottom { margin-bottom: 1.5rem; } .MuiTypography-paragraph { margin-bottom: 16px; } .MuiTypography-colorInherit { color: inherit; } .MuiTypography-colorPrimary { color: #007dba; } .MuiTypography-colorSecondary { color: #00857d; } .MuiTypography-colorTextPrimary { color: #333; } .MuiTypography-colorTextSecondary { color: #666; } .MuiTypography-colorError { color: #f44336; } .MuiTypography-displayInline { display: inline; } .MuiTypography-displayBlock { display: block; } .MuiContainer-root { width: 100%; display: block; box-sizing: border-box; margin-left: auto; margin-right: auto; padding-left: 1rem; padding-right: 1rem; } @media (min-width:600px) { .MuiContainer-root { padding-left: 1.5rem; padding-right: 1.5rem; } } .MuiContainer-disableGutters { padding-left: 0; padding-right: 0; } @media (min-width:600px) { .MuiContainer-fixed { max-width: 600px; } } @media (min-width:960px) { .MuiContainer-fixed { max-width: 960px; } } @media (min-width:1280px) { .MuiContainer-fixed { max-width: 1280px; } } @media (min-width:1920px) { .MuiContainer-fixed { max-width: 1920px; } } @media (min-width:0px) { .MuiContainer-maxWidthXs { max-width: 444px; } } @media (min-width:600px) { .MuiContainer-maxWidthSm { max-width: 600px; } } @media (min-width:960px) { .MuiContainer-maxWidthMd { max-width: 960px; } } @media (min-width:1280px) { .MuiContainer-maxWidthLg { max-width: 1280px; } } @media (min-width:1920px) { .MuiContainer-maxWidthXl { max-width: 1920px; } } .MuiGrid-container { width: 100%; display: flex; flex-wrap: wrap; box-sizing: border-box; } .MuiGrid-item { margin: 0; box-sizing: border-box; } .MuiGrid-zeroMinWidth { min-width: 0; } .MuiGrid-direction-xs-column { flex-direction: column; } .MuiGrid-direction-xs-column-reverse { flex-direction: column-reverse; } .MuiGrid-direction-xs-row-reverse { flex-direction: row-reverse; } .MuiGrid-wrap-xs-nowrap { flex-wrap: nowrap; } .MuiGrid-wrap-xs-wrap-reverse { flex-wrap: wrap-reverse; } .MuiGrid-align-items-xs-center { align-items: center; } .MuiGrid-align-items-xs-flex-start { align-items: flex-start; } .MuiGrid-align-items-xs-flex-end { align-items: flex-end; } .MuiGrid-align-items-xs-baseline { align-items: baseline; } .MuiGrid-align-content-xs-center { align-content: center; } .MuiGrid-align-content-xs-flex-start { align-content: flex-start; } .MuiGrid-align-content-xs-flex-end { align-content: flex-end; } .MuiGrid-align-content-xs-space-between { align-content: space-between; } .MuiGrid-align-content-xs-space-around { align-content: space-around; } .MuiGrid-justify-content-xs-center { justify-content: center; } .MuiGrid-justify-content-xs-flex-end { justify-content: flex-end; } .MuiGrid-justify-content-xs-space-between { justify-content: space-between; } .MuiGrid-justify-content-xs-space-around { justify-content: space-around; } .MuiGrid-justify-content-xs-space-evenly { justify-content: space-evenly; } .MuiGrid-spacing-xs-0 { width: calc(100% + 0rem); margin: -0rem; } .MuiGrid-spacing-xs-0 > .MuiGrid-item { padding: 0rem; } .MuiGrid-spacing-xs-1 { width: calc(100% + 0.5rem); margin: -0.25rem; } .MuiGrid-spacing-xs-1 > .MuiGrid-item { padding: 0.25rem; } .MuiGrid-spacing-xs-2 { width: calc(100% + 1rem); margin: -0.5rem; } .MuiGrid-spacing-xs-2 > .MuiGrid-item { padding: 0.5rem; } .MuiGrid-spacing-xs-3 { width: calc(100% + 1.5rem); margin: -0.75rem; } .MuiGrid-spacing-xs-3 > .MuiGrid-item { padding: 0.75rem; } .MuiGrid-spacing-xs-4 { width: calc(100% + 2rem); margin: -1rem; } .MuiGrid-spacing-xs-4 > .MuiGrid-item { padding: 1rem; } .MuiGrid-spacing-xs-5 { width: calc(100% + 2.5rem); margin: -1.25rem; } .MuiGrid-spacing-xs-5 > .MuiGrid-item { padding: 1.25rem; } .MuiGrid-spacing-xs-6 { width: calc(100% + 3rem); margin: -1.5rem; } .MuiGrid-spacing-xs-6 > .MuiGrid-item { padding: 1.5rem; } .MuiGrid-spacing-xs-7 { width: calc(100% + 3.5rem); margin: -1.75rem; } .MuiGrid-spacing-xs-7 > .MuiGrid-item { padding: 1.75rem; } .MuiGrid-spacing-xs-8 { width: calc(100% + 4rem); margin: -2rem; } .MuiGrid-spacing-xs-8 > .MuiGrid-item { padding: 2rem; } .MuiGrid-spacing-xs-9 { width: calc(100% + 4.5rem); margin: -2.25rem; } .MuiGrid-spacing-xs-9 > .MuiGrid-item { padding: 2.25rem; } .MuiGrid-spacing-xs-10 { width: calc(100% + 5rem); margin: -2.5rem; } .MuiGrid-spacing-xs-10 > .MuiGrid-item { padding: 2.5rem; } .MuiGrid-grid-xs-auto { flex-grow: 0; max-width: none; flex-basis: auto; } .MuiGrid-grid-xs-true { flex-grow: 1; max-width: 100%; flex-basis: 0; } .MuiGrid-grid-xs-1 { flex-grow: 0; max-width: 8.333333%; flex-basis: 8.333333%; } .MuiGrid-grid-xs-2 { flex-grow: 0; max-width: 16.666667%; flex-basis: 16.666667%; } .MuiGrid-grid-xs-3 { flex-grow: 0; max-width: 25%; flex-basis: 25%; } .MuiGrid-grid-xs-4 { flex-grow: 0; max-width: 33.333333%; flex-basis: 33.333333%; } .MuiGrid-grid-xs-5 { flex-grow: 0; max-width: 41.666667%; flex-basis: 41.666667%; } .MuiGrid-grid-xs-6 { flex-grow: 0; max-width: 50%; flex-basis: 50%; } .MuiGrid-grid-xs-7 { flex-grow: 0; max-width: 58.333333%; flex-basis: 58.333333%; } .MuiGrid-grid-xs-8 { flex-grow: 0; max-width: 66.666667%; flex-basis: 66.666667%; } .MuiGrid-grid-xs-9 { flex-grow: 0; max-width: 75%; flex-basis: 75%; } .MuiGrid-grid-xs-10 { flex-grow: 0; max-width: 83.333333%; flex-basis: 83.333333%; } .MuiGrid-grid-xs-11 { flex-grow: 0; max-width: 91.666667%; flex-basis: 91.666667%; } .MuiGrid-grid-xs-12 { flex-grow: 0; max-width: 100%; flex-basis: 100%; } @media (min-width:600px) { .MuiGrid-grid-sm-auto { flex-grow: 0; max-width: none; flex-basis: auto; } .MuiGrid-grid-sm-true { flex-grow: 1; max-width: 100%; flex-basis: 0; } .MuiGrid-grid-sm-1 { flex-grow: 0; max-width: 8.333333%; flex-basis: 8.333333%; } .MuiGrid-grid-sm-2 { flex-grow: 0; max-width: 16.666667%; flex-basis: 16.666667%; } .MuiGrid-grid-sm-3 { flex-grow: 0; max-width: 25%; flex-basis: 25%; } .MuiGrid-grid-sm-4 { flex-grow: 0; max-width: 33.333333%; flex-basis: 33.333333%; } .MuiGrid-grid-sm-5 { flex-grow: 0; max-width: 41.666667%; flex-basis: 41.666667%; } .MuiGrid-grid-sm-6 { flex-grow: 0; max-width: 50%; flex-basis: 50%; } .MuiGrid-grid-sm-7 { flex-grow: 0; max-width: 58.333333%; flex-basis: 58.333333%; } .MuiGrid-grid-sm-8 { flex-grow: 0; max-width: 66.666667%; flex-basis: 66.666667%; } .MuiGrid-grid-sm-9 { flex-grow: 0; max-width: 75%; flex-basis: 75%; } .MuiGrid-grid-sm-10 { flex-grow: 0; max-width: 83.333333%; flex-basis: 83.333333%; } .MuiGrid-grid-sm-11 { flex-grow: 0; max-width: 91.666667%; flex-basis: 91.666667%; } .MuiGrid-grid-sm-12 { flex-grow: 0; max-width: 100%; flex-basis: 100%; } } @media (min-width:960px) { .MuiGrid-grid-md-auto { flex-grow: 0; max-width: none; flex-basis: auto; } .MuiGrid-grid-md-true { flex-grow: 1; max-width: 100%; flex-basis: 0; } .MuiGrid-grid-md-1 { flex-grow: 0; max-width: 8.333333%; flex-basis: 8.333333%; } .MuiGrid-grid-md-2 { flex-grow: 0; max-width: 16.666667%; flex-basis: 16.666667%; } .MuiGrid-grid-md-3 { flex-grow: 0; max-width: 25%; flex-basis: 25%; } .MuiGrid-grid-md-4 { flex-grow: 0; max-width: 33.333333%; flex-basis: 33.333333%; } .MuiGrid-grid-md-5 { flex-grow: 0; max-width: 41.666667%; flex-basis: 41.666667%; } .MuiGrid-grid-md-6 { flex-grow: 0; max-width: 50%; flex-basis: 50%; } .MuiGrid-grid-md-7 { flex-grow: 0; max-width: 58.333333%; flex-basis: 58.333333%; } .MuiGrid-grid-md-8 { flex-grow: 0; max-width: 66.666667%; flex-basis: 66.666667%; } .MuiGrid-grid-md-9 { flex-grow: 0; max-width: 75%; flex-basis: 75%; } .MuiGrid-grid-md-10 { flex-grow: 0; max-width: 83.333333%; flex-basis: 83.333333%; } .MuiGrid-grid-md-11 { flex-grow: 0; max-width: 91.666667%; flex-basis: 91.666667%; } .MuiGrid-grid-md-12 { flex-grow: 0; max-width: 100%; flex-basis: 100%; } } @media (min-width:1280px) { .MuiGrid-grid-lg-auto { flex-grow: 0; max-width: none; flex-basis: auto; } .MuiGrid-grid-lg-true { flex-grow: 1; max-width: 100%; flex-basis: 0; } .MuiGrid-grid-lg-1 { flex-grow: 0; max-width: 8.333333%; flex-basis: 8.333333%; } .MuiGrid-grid-lg-2 { flex-grow: 0; max-width: 16.666667%; flex-basis: 16.666667%; } .MuiGrid-grid-lg-3 { flex-grow: 0; max-width: 25%; flex-basis: 25%; } .MuiGrid-grid-lg-4 { flex-grow: 0; max-width: 33.333333%; flex-basis: 33.333333%; } .MuiGrid-grid-lg-5 { flex-grow: 0; max-width: 41.666667%; flex-basis: 41.666667%; } .MuiGrid-grid-lg-6 { flex-grow: 0; max-width: 50%; flex-basis: 50%; } .MuiGrid-grid-lg-7 { flex-grow: 0; max-width: 58.333333%; flex-basis: 58.333333%; } .MuiGrid-grid-lg-8 { flex-grow: 0; max-width: 66.666667%; flex-basis: 66.666667%; } .MuiGrid-grid-lg-9 { flex-grow: 0; max-width: 75%; flex-basis: 75%; } .MuiGrid-grid-lg-10 { flex-grow: 0; max-width: 83.333333%; flex-basis: 83.333333%; } .MuiGrid-grid-lg-11 { flex-grow: 0; max-width: 91.666667%; flex-basis: 91.666667%; } .MuiGrid-grid-lg-12 { flex-grow: 0; max-width: 100%; flex-basis: 100%; } } @media (min-width:1920px) { .MuiGrid-grid-xl-auto { flex-grow: 0; max-width: none; flex-basis: auto; } .MuiGrid-grid-xl-true { flex-grow: 1; max-width: 100%; flex-basis: 0; } .MuiGrid-grid-xl-1 { flex-grow: 0; max-width: 8.333333%; flex-basis: 8.333333%; } .MuiGrid-grid-xl-2 { flex-grow: 0; max-width: 16.666667%; flex-basis: 16.666667%; } .MuiGrid-grid-xl-3 { flex-grow: 0; max-width: 25%; flex-basis: 25%; } .MuiGrid-grid-xl-4 { flex-grow: 0; max-width: 33.333333%; flex-basis: 33.333333%; } .MuiGrid-grid-xl-5 { flex-grow: 0; max-width: 41.666667%; flex-basis: 41.666667%; } .MuiGrid-grid-xl-6 { flex-grow: 0; max-width: 50%; flex-basis: 50%; } .MuiGrid-grid-xl-7 { flex-grow: 0; max-width: 58.333333%; flex-basis: 58.333333%; } .MuiGrid-grid-xl-8 { flex-grow: 0; max-width: 66.666667%; flex-basis: 66.666667%; } .MuiGrid-grid-xl-9 { flex-grow: 0; max-width: 75%; flex-basis: 75%; } .MuiGrid-grid-xl-10 { flex-grow: 0; max-width: 83.333333%; flex-basis: 83.333333%; } .MuiGrid-grid-xl-11 { flex-grow: 0; max-width: 91.666667%; flex-basis: 91.666667%; } .MuiGrid-grid-xl-12 { flex-grow: 0; max-width: 100%; flex-basis: 100%; } } .jss2 { color: #fff; z-index: 1300; position: relative; padding-top: 1.5rem; padding-bottom: 1.5rem; background-color: #0d224c; } @media (max-width:599.95px) { .jss3 { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; } } @media (min-width:600px) { .jss3 { flex-shrink: 0; } } @media (max-width:599.95px) { .jss4 { margin-top: 1.5rem; flex-shrink: 0; } } @media (min-width:600px) { .jss5 { display: flex; align-items: center; justify-content: space-between; } } @media (min-width:600px) { .jss6 { margin-right: 1.5rem; } } @media (max-width:599.95px) { .jss7 { margin-top: 1.5rem; flex-shrink: 0; margin-right: 1rem; } } @media (min-width:600px) { .jss7 { margin-right: 1.5rem; } } .jss8 { margin-top: 1rem; } .jss1 { clip: rect(0 0 0 0); color: #000; width: 1px; height: 1px; display: block; overflow: hidden; position: absolute; clip-path: inset(50%); padding-top: 0.5rem; white-space: nowrap; padding-bottom: 0.5rem; text-decoration: unset; background-color: #fd6; } .jss1:focus { clip: unset; width: unset; height: unset; outline: .25rem solid transparent; overflow: unset; position: unset; clip-path: unset; white-space: unset; } .jss35 > * { box-sizing: border-box; font-family: Roboto; } .jss36 { padding-top: 1.5rem; padding-bottom: 2.5rem; } .jss37 { padding-top: 2.5rem; padding-bottom: 2.5rem; } .jss38 { padding-top: 1.5rem; padding-bottom: 2.5rem; } .jss39 { color: #fff; } .jss40 { background-color: #4c4c4c; } .jss41 { background-color: #404040; } .jss42 { background-color: #333; } .jss43 { display: inline; } .jss44:link { color: #fff; text-decoration: none; } .jss44:visited { color: #fff; } .jss44:focus { color: #000; outline: .25rem solid transparent; box-shadow: 0 .25rem 0 0 #fd6, 0 -.25rem 0 0 #fd6; text-decoration: none; background-color: #fd6; } .jss44:hover { color: #d9d9d9; transition: color .2s ease; text-decoration: underline; } .jss44:focus:hover { color: #000; outline: .25rem solid transparent; box-shadow: 0 .25rem 0 0 #fd6, 0 -.25rem 0 0 #fd6; text-decoration: none; background-color: #fd6; } .jss44:active { color: #fff; } .jss44:focus:active { color: #fff; outline: none; box-shadow: none; text-decoration: underline; background-color: transparent; } .jss45 { margin: 0; display: inline; padding: 0; list-style: none; } .jss46 { display: inline-block; font-size: .875rem; margin-top: 1rem; font-weight: 400; line-height: 1.428571428571429rem; letter-spacing: unset; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .jss46 b { font-weight: bolder; } .jss46 strong { font-weight: bolder; } .jss46:not(:last-child) { margin-right: 1rem; } .jss47::before { content: ">"; margin-right: 1rem; } .jss48 { width: calc(100% + 1.5rem); margin-left: -0.75rem; margin-right: -0.75rem; } .jss48 .MuiGrid-item { padding-left: 0.75rem; padding-right: 0.75rem; } @media (max-width:959.95px) { .jss48 { width: calc(100% + 1rem); margin-left: -0.5rem; margin-right: -0.5rem; } .jss48 .MuiGrid-item { padding-left: 0.5rem; padding-right: 0.5rem; } } .jss49 { padding-top: 0; padding-bottom: 0; } .jss50 { font-size: .875rem; font-weight: 400; line-height: 1.428571428571429rem; padding-top: 1rem; letter-spacing: unset; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .jss50 b { font-weight: bolder; } .jss50 strong { font-weight: bolder; } @media (max-width:599.95px) { .jss50 { border-top: .0625rem solid #707070; padding-top: 1.5rem; } } .jss51 { list-style: none; margin-top: 1.5rem; padding-left: 0; margin-bottom: 0; } @media (max-width:599.95px) { .jss52 { margin-top: 3rem; } } .jss53 { font-size: 1rem; font-family: "Roboto", "Helvetica", "Arial", sans-serif; font-weight: 500; line-height: 1.5rem; letter-spacing: unset; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } @media (min-width:960px) { .jss53 { font-size: 1.25rem; line-height: 2rem; } } .jss53 b { font-weight: bolder; } .jss53 strong { font-weight: bolder; } .jss54 { font-size: .875rem; font-weight: 400; line-height: 1.428571428571429rem; letter-spacing: unset; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .jss54 b { font-weight: bolder; } .jss54 strong { font-weight: bolder; } .jss54:not(:first-child) { margin-top: 1rem; } .jss55 { margin-right: 0.5rem; } .jss56 { display: flex; flex-wrap: wrap; list-style: none; margin-top: 0; padding-left: 0; margin-bottom: 0; } .jss57 { margin-bottom: 0; } @media (max-width:599.95px) { .jss57 { margin-bottom: 1.5rem; } } .jss58 { font-size: .875rem; margin-top: 1rem; font-weight: 400; line-height: 1.428571428571429rem; letter-spacing: unset; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .jss58 b { font-weight: bolder; } .jss58 strong { font-weight: bolder; } .jss58:not(:last-child) { margin-right: 1.5rem; } .jss59 { font-size: .875rem; font-weight: 400; line-height: 1.428571428571429rem; padding-top: 1.5rem; letter-spacing: unset; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .jss59 b { font-weight: bolder; } .jss59 strong { font-weight: bolder; } @media (max-width:599.95px) { .jss59 { border-top: .0625rem solid #707070; } } .jss60:link { color: #fff; text-decoration: underline; } .jss60:visited { color: #d9d9d9; } .jss60:focus { color: #000; outline: .25rem solid transparent; box-shadow: 0 .25rem 0 0 #fd6, 0 -.25rem 0 0 #fd6; text-decoration: none; background-color: #fd6; } .jss60:hover { color: #d9d9d9; transition: color .2s ease; text-decoration: underline; } .jss60:focus:hover { color: #000; outline: .25rem solid transparent; box-shadow: 0 .25rem 0 0 #fd6, 0 -.25rem 0 0 #fd6; text-decoration: none; background-color: #fd6; } .jss60:active { color: #fff; } .jss60:focus:active { color: #fff; outline: none; box-shadow: none; text-decoration: underline; background-color: transparent; } .jss9 { z-index: 1100; position: relative; } .jss10 { color: #666; background-color: #fff; } @media (min-width:600px) { .jss10 { padding-top: 0.5rem; padding-bottom: 0.5rem; } } @media (max-width:599.95px) { .jss11::before { content: ''; display: table; } .jss11::after { clear: both; content: ''; display: table; } } @media (min-width:600px) { .jss11 { display: flex; justify-content: space-between; } } @media (max-width:599.95px) { .jss12 { float: left; } } .jss13 { display: flex; } .jss14 { line-height: 0; } .jss15 { margin-left: 16px; } @media (max-width:599.95px) { .jss15 { margin-top: 1rem; } } @media (min-width:600px) { .jss15 { margin-top: .625rem; } } @media (max-width:599.95px) { .jss16 { font-size: 1rem; font-family: "Roboto", "Helvetica", "Arial", sans-serif; font-weight: 400; line-height: 1.5rem; letter-spacing: unset; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .jss16 b { font-weight: bolder; } .jss16 strong { font-weight: bolder; } } @media (min-width:600px) { .jss16 { font-size: 1.25rem; font-family: "Roboto", "Helvetica", "Arial", sans-serif; font-weight: 400; line-height: 2rem; letter-spacing: unset; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .jss16 b { font-weight: bolder; } .jss16 strong { font-weight: bolder; } } .jss17 { margin-right: 3px; } @media (max-width:599.95px) { .jss18 { clip: rect(0 0 0 0); width: 1px; height: 1px; overflow: hidden; position: absolute; clip-path: inset(50%); white-space: nowrap; } } @media (min-width:600px) { .jss18 { font-size: 1.25rem; font-family: "Roboto", "Helvetica", "Arial", sans-serif; font-weight: 400; line-height: 2rem; margin-left: 3px; letter-spacing: unset; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .jss18 b { font-weight: bolder; } .jss18 strong { font-weight: bolder; } } .jss19 { clip: rect(0 0 0 0); width: 1px; height: 1px; overflow: hidden; position: absolute; clip-path: inset(50%); white-space: nowrap; } .jss20:link { color: #666; text-decoration: unset; } .jss20:visited { color: #666; } .jss20:focus { color: #000; outline: .25rem solid transparent; box-shadow: 0 .25rem 0 0 #fd6, 0 -.25rem 0 0 #fd6; text-decoration: none; background-color: #fd6; } .jss20:focus:not(:focus-visible) { outline: .25rem solid transparent; box-shadow: unset; text-decoration: underline; background-color: unset; } .jss20:hover { color: #004777; text-decoration: underline; } .jss20:active { color: #000; text-decoration: underline; } @media (hover: none) { .jss20:hover { color: #666; } } @media (max-width:599.95px) { .jss21 { width: 2.5rem; height: 2.5rem; } } @media (min-width:600px) { .jss21 { width: 3.25rem; height: 3.25rem; } } .jss22 { display: inline-block; } @media (max-width:599.95px) { .jss22 { margin-top: 0.5rem; margin-bottom: 0.5rem; } } .jss22:focus { outline: .25rem solid #fd6; } .jss22:focus:not(:focus-visible) { outline: none; } .jss22:hover { opacity: 0.7; } .jss22:active { opacity: 1; } @media (hover: none) { .jss22:hover { opacity: 1; } } .jss23 { margin-left: 8px; } @media (max-width:599.95px) { .jss23 { float: right; margin-top: .625rem; margin-bottom: 0.5rem; } } .jss26 { display: flex; position: relative; align-items: center; margin-left: auto; } @media (max-width: 757px) { .jss26 { top: 100%; right: 0; display: none; padding: 1.8rem; position: absolute; border-top: 1px solid #ccc; box-shadow: 0px 5px 4px rgb(0 0 0 / 20%); -moz-box-shadow: 0px 5px 4px rgba(0,0,0,0.2); background-color: #fff; -webkit-box-shadow: 0px 5px 4px rgb(0 0 0 / 20%); } } @media (max-width: 400px) { .jss26 { left: 0; } } @media (max-width: 757px) { .jss26.visible { display: block; } } .jss27 { color: #666; display: block; font-size: 18px; text-decoration: unset; } .jss27:hover { color: #004777; text-decoration: underline; } .jss27:focus { color: #000; outline: transparent solid 0.25rem; box-shadow: rgb(255 221 102) 0px 0.25rem 0px 0px, rgb(255 221 102) 0px -0.25rem 0px 0px; text-decoration: none; background-color: rgb(255, 221, 102); } .jss28 { top: 100%; right: 0; width: 600px; display: none; padding: 20px 30px; position: absolute; border-top: 2px solid #00557f; box-shadow: 0px 5px 4px rgb(0 0 0 / 20%); text-align: center; -moz-box-shadow: 0px 5px 4px rgba(0,0,0,0.2); background-color: #fff; -webkit-box-shadow: 0px 5px 4px rgb(0 0 0 / 20%); } @media (max-width: 757px) { .jss28 { display: none; } } .jss29 { top: 50%; color: #2c3841; right: 1.8rem; width: 32px; border: none; bottom: 0; cursor: pointer; height: 32px; display: flex; position: absolute; transform: translateY(-50%); align-items: center; justify-content: center; background-color: transparent; } @media (min-width: 757px) { .jss29 { right: 10px; } } .jss29:hover { opacity: 0.5; } .jss29:focus { outline: .25rem solid #fd6; background-color: #fff; } @media (max-width: 757px) { .jss30 { width: 100%; } } @media (min-width: 757px) { .jss30:focus-within #predictive-results.visible { display: block; } } @media (min-width: 757px) { .jss31 { padding: 10px 10px; position: relative; margin-right: -10px; } .jss31.has-search-term:focus-within { box-shadow: 0 0 2px rgb(0 0 0 / 20%); -moz-box-shadow: 0 0 2px rgba(0,0,0,0.2); background-image: linear-gradient(to bottom,#e4e9ec 0%,#fff 100%); -webkit-box-shadow: 0 0 2px rgb(0 0 0 / 20%); } } .jss32 { width: 210px; border: 2px solid #E4E9EC; display: block; padding: 5px 32px 4px 9px; min-height: 31px; background-color: #fff; } .jss32:focus { outline: .25rem solid #fd6; background-color: #fff; } .jss32::-webkit-search-cancel-button, .jss32::-webkit-search-decoration, .jss32 -webkit-search-results-button, .jss32 -webkit-search-results-decoration { display: none; } .jss32::-ms-clear { width: 0; height: 0; display: none; } .jss32::-ms-reveal { width: 0; height: 0; display: none; } .jss32:-webkit-autofill, .jss32:-webkit-autofill:hover, .jss32:-webkit-autofill:active, .jss32:-webkit-autofill:focus { -webkit-box-shadow: 0 0 0px 1000px #fff inset; } @media (max-width: 757px) { .jss32 { width: 100%; } } .jss33 span { clip: rect(0 0 0 0); width: 1px; height: 1px; overflow: hidden; position: absolute; clip-path: inset(50%); white-space: nowrap; } .jss24 { display: none; align-items: center; margin-left: auto; justify-content: center; } @media (max-width: 757px) { .jss24 { gap: 8px; display: flex; } } @media (min-width:600px) { .jss24 { margin-top: 0.5rem; } } .jss25 { color: #069; width: 36px; border: none; height: 36px; justify-content: center; background-color: #e4e9ec; } .jss25:hover { color: #fff; cursor: pointer; background-color: #069; } .jss25:focus { color: #fff; outline: .25rem solid #fd6; outline-offset: -2px; background-color: #069; }</style><style data-href="https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,300;0,400;0,500;0,700;0,900;1,300;1,400;1,500&display=swap">@font-face{font-family:'Roboto';font-style:italic;font-weight:300;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TjARc-.woff) format('woff')}@font-face{font-family:'Roboto';font-style:italic;font-weight:400;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1Mu52xM.woff) format('woff')}@font-face{font-family:'Roboto';font-style:italic;font-weight:500;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51S7ABc-.woff) format('woff')}@font-face{font-family:'Roboto';font-style:normal;font-weight:300;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5vAA.woff) format('woff')}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Me5g.woff) format('woff')}@font-face{font-family:'Roboto';font-style:normal;font-weight:500;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmEU9vAA.woff) format('woff')}@font-face{font-family:'Roboto';font-style:normal;font-weight:700;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlvAA.woff) format('woff')}@font-face{font-family:'Roboto';font-style:normal;font-weight:900;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtvAA.woff) format('woff')}@font-face{font-family:'Roboto';font-style:italic;font-weight:300;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TjASc3CsTYl4BOQ3o.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'Roboto';font-style:italic;font-weight:300;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TjASc-CsTYl4BOQ3o.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Roboto';font-style:italic;font-weight:300;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TjASc2CsTYl4BOQ3o.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:'Roboto';font-style:italic;font-weight:300;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TjASc5CsTYl4BOQ3o.woff2) format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:'Roboto';font-style:italic;font-weight:300;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TjASc1CsTYl4BOQ3o.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Roboto';font-style:italic;font-weight:300;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TjASc0CsTYl4BOQ3o.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Roboto';font-style:italic;font-weight:300;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51TjASc6CsTYl4BO.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Roboto';font-style:italic;font-weight:400;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1Mu51xFIzIXKMnyrYk.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'Roboto';font-style:italic;font-weight:400;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1Mu51xMIzIXKMnyrYk.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Roboto';font-style:italic;font-weight:400;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1Mu51xEIzIXKMnyrYk.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:'Roboto';font-style:italic;font-weight:400;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1Mu51xLIzIXKMnyrYk.woff2) format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:'Roboto';font-style:italic;font-weight:400;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1Mu51xHIzIXKMnyrYk.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Roboto';font-style:italic;font-weight:400;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1Mu51xGIzIXKMnyrYk.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Roboto';font-style:italic;font-weight:400;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOkCnqEu92Fr1Mu51xIIzIXKMny.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Roboto';font-style:italic;font-weight:500;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51S7ACc3CsTYl4BOQ3o.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'Roboto';font-style:italic;font-weight:500;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51S7ACc-CsTYl4BOQ3o.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Roboto';font-style:italic;font-weight:500;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51S7ACc2CsTYl4BOQ3o.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:'Roboto';font-style:italic;font-weight:500;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51S7ACc5CsTYl4BOQ3o.woff2) format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:'Roboto';font-style:italic;font-weight:500;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51S7ACc1CsTYl4BOQ3o.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Roboto';font-style:italic;font-weight:500;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51S7ACc0CsTYl4BOQ3o.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Roboto';font-style:italic;font-weight:500;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOjCnqEu92Fr1Mu51S7ACc6CsTYl4BO.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Roboto';font-style:normal;font-weight:300;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fCRc4AMP6lbBP.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'Roboto';font-style:normal;font-weight:300;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fABc4AMP6lbBP.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Roboto';font-style:normal;font-weight:300;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fCBc4AMP6lbBP.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:'Roboto';font-style:normal;font-weight:300;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fBxc4AMP6lbBP.woff2) format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:'Roboto';font-style:normal;font-weight:300;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fCxc4AMP6lbBP.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Roboto';font-style:normal;font-weight:300;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fChc4AMP6lbBP.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Roboto';font-style:normal;font-weight:300;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmSU5fBBc4AMP6lQ.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu72xKKTU1Kvnz.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu5mxKKTU1Kvnz.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu7mxKKTU1Kvnz.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu4WxKKTU1Kvnz.woff2) format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu7WxKKTU1Kvnz.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu7GxKKTU1Kvnz.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu4mxKKTU1Kg.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Roboto';font-style:normal;font-weight:500;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmEU9fCRc4AMP6lbBP.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'Roboto';font-style:normal;font-weight:500;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmEU9fABc4AMP6lbBP.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Roboto';font-style:normal;font-weight:500;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmEU9fCBc4AMP6lbBP.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:'Roboto';font-style:normal;font-weight:500;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmEU9fBxc4AMP6lbBP.woff2) format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:'Roboto';font-style:normal;font-weight:500;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmEU9fCxc4AMP6lbBP.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Roboto';font-style:normal;font-weight:500;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmEU9fChc4AMP6lbBP.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Roboto';font-style:normal;font-weight:500;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmEU9fBBc4AMP6lQ.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Roboto';font-style:normal;font-weight:700;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfCRc4AMP6lbBP.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'Roboto';font-style:normal;font-weight:700;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfABc4AMP6lbBP.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Roboto';font-style:normal;font-weight:700;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfCBc4AMP6lbBP.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:'Roboto';font-style:normal;font-weight:700;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfBxc4AMP6lbBP.woff2) format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:'Roboto';font-style:normal;font-weight:700;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfCxc4AMP6lbBP.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Roboto';font-style:normal;font-weight:700;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfChc4AMP6lbBP.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Roboto';font-style:normal;font-weight:700;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmWUlfBBc4AMP6lQ.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Roboto';font-style:normal;font-weight:900;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCRc4AMP6lbBP.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'Roboto';font-style:normal;font-weight:900;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfABc4AMP6lbBP.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Roboto';font-style:normal;font-weight:900;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCBc4AMP6lbBP.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:'Roboto';font-style:normal;font-weight:900;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfBxc4AMP6lbBP.woff2) format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:'Roboto';font-style:normal;font-weight:900;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfCxc4AMP6lbBP.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Roboto';font-style:normal;font-weight:900;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfChc4AMP6lbBP.woff2) format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Roboto';font-style:normal;font-weight:900;font-display:swap;src:url(http://web.archive.org/web/20240227040306im_/https://fonts.gstatic.com/s/roboto/v30/KFOlCnqEu92Fr1MmYUtfBBc4AMP6lQ.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}</style></head><body style="margin:0"><div id="__next"><nav aria-labelledby="main-content-skip-link"><a class="MuiTypography-root jss1 MuiTypography-subtitle2" href="#main-content" id="main-content-skip-link"><div class="MuiContainer-root">Skip to main content</div></a></nav><header class="MuiPaper-root jss9 MuiPaper-elevation3" aria-label="Site header"><div class="jss10"><div class="MuiContainer-root MuiContainer-maxWidthLg"><div class="jss11"><div><nav aria-label="Site header breadcrumb" class="jss12"><span class="jss13" role="list"><span class="jss14"><a aria-label="Jisc homepage" class="jss22" title="Jisc homepage" href="/web/20240227040306/https://www.jisc.ac.uk/"><img alt="Jisc" class="jss21" src="data:image/svg+xml;base64,PHN2ZyBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA5OTkuOSA5OTkuOSIgdmlld0JveD0iMCAwIDk5OS45IDk5OS45IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgPHBhdGggZD0ibTAgMGg5OTkuOXY5OTkuOWgtOTk5Ljl6IiBmaWxsPSIjZTg1ZTEzIi8+CiAgICA8cGF0aCBkPSJtMzA1LjggNTU0YzAgODAuMS00Ni44IDExOS43LTExMy40IDExOS43LTUyLjEgMC04NS45LTI0LjEtMTA4LjEtNTQuNWwzOS4xLTQwYzE5LjggMjUuMSAzOS41IDM5LjYgNjggMzkuNiAzMS44IDAgNTMuNi0yMS4yIDUzLjYtNjYuMXYtMjIxLjZoNjAuOHptMTA3LjYgMTE0LjhoLTU4LjR2LTI1NC44aDU4LjR6bS0yOS41LTI4My42Yy0yMSAwLTM4LTE3LTM4LjEtMzcuOSAwLTIxIDE3LTM4IDM3LjktMzguMXMzOCAxNyAzOC4xIDM3Ljl2LjFjLjEgMjEtMTYuOSAzOC0zNy45IDM4em0yNjMuNCAyMDguM2MwIDUzLjUtNDEuNSA4MC4xLTk0LjYgODAuMS0zNi4yIDAtNzYuMi0xMy0xMDguMS0zOC4xbDI2LjEtMzkuNWMyNy41IDIwLjcgNTcuNCAzMS40IDgzLjUgMzEuNCAyNS4xIDAgMzkuNS0xMC42IDM5LjUtMjcuNXYtMWMwLTE5LjgtMjctMjYuNS01Ni45LTM1LjctMzcuNi0xMC42LTc5LjYtMjYtNzkuNi03NC44di0xYzAtNDguMiA0MC4xLTc3LjcgOTAuNy03Ny43IDMxLjggMCA2Ni42IDExLjEgOTMuNiAyOWwtMjMuMiA0MS41Yy0yNC42LTE0LjktNTAuNy0yNC4xLTcxLjktMjQuMS0yMi43IDAtMzUuNyAxMC42LTM1LjcgMjUuNnYxYzAgMTguMyAyNy41IDI2IDU3LjQgMzUuNyAzNy4xIDExLjYgNzkuMSAyOC41IDc5LjEgNzQuM3ptMTU3LjggODEuMWMtNzUuOCAwLTEzMS43LTU5LjMtMTMxLjctMTMyLjJzNTYtMTMzLjYgMTMyLjItMTMzLjZjNDguMyAwIDc4LjIgMTcuOSAxMDEuOCA0My45bC0zNi4yIDM5LjFjLTE3LjgtMTguOC0zNi43LTMxLjgtNjYuMS0zMS44LTQyLjUgMC03My4zIDM2LjctNzMuMyA4MS41IDAgNDUuOCAzMS40IDgyLjUgNzYuMiA4Mi41IDI3LjUgMCA0Ny44LTEzIDY2LjEtMzEuOGwzNS4yIDM0LjhjLTI1LjEgMjcuOC01NC41IDQ3LjYtMTA0LjIgNDcuNnoiCiAgICAgICAgICBmaWxsPSIjZmZmIi8+Cjwvc3ZnPgo="/></a></span><span class="jss15"></span></span></nav></div><div class="jss23"><div class="jss24"><button aria-controls="search-form" aria-expanded="false" aria-label="Show search box" class="jss25" title="Show search box" type="button"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="magnifying-glass" class="svg-inline--fa fa-magnifying-glass " role="img" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 512 512"><path fill="currentColor" d="M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z"></path></svg></button></div><div class="jss26" id="search-form"><div class="jss31"><form action="/web/20240227040306/https://www.jisc.ac.uk/search" class="jss30" method="get"><label class="jss33" for="search-term"><span>Search Jisc</span><input class="jss32" id="search-term" name="q" placeholder="Search Jisc" title="Search Jisc" type="search"/></label><button aria-label="Search" class="jss29" title="Search" type="submit"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="magnifying-glass" class="svg-inline--fa fa-magnifying-glass " role="img" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 512 512"><path fill="currentColor" d="M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z"></path></svg></button></form></div></div></div></div></div></div></header><main id="main-content"><article><header aria-labelledby="guidePageHeaderTitle" class="text-jiscMineShaft bg-jiscWhite" data-testid="guide-page-header"><div class="border-0 border-t-2 border-solid border-jiscHibiscus"></div><div class="box-border block max-w-screen-md px-4 mx-auto md:px-6" data-testclass="container"><span class="null inline-block px-3 py-1 font-sans text-[1rem] font-normal antialiased leading-[1.5rem] text-jiscWhite bg-jiscHibiscus">Quick guide</span><div class="box-border flex flex-wrap w-[calc(100%+1rem)] -mx-2 md:w-[calc(100%+1.5rem)] md:-mx-3 " data-testclass="grid"><div class="box-border block w-full px-2 sm:w-10/12 sm:ml-[calc(1/12*100%)] md:px-3 " data-testclass="grid-item"><div><h1 class="my-6 font-sans text-[2.5rem] font-normal antialiased leading-[3.5rem] sm:text-[2.75rem] md:text-[3rem] md:leading-[4rem]" id="guidePageHeaderTitle">Using the Janet Network performance test facilities</h1></div><p class="my-4 font-sans text-[1rem] font-normal antialiased ">Last updated: <time datetime="2023-05-23T14:51:00Z">23 May 2023</time></p><p class="mt-6 mb-[unset] font-sans text-[1.25rem] font-light antialiased leading-[2rem] sm:w-1/2 sm:min-w-full sm:mt-[unset]">How members can use Jisc's network performance test servers to diagnose and troubleshoot their network issues.</p></div></div></div></header><div class=" clearfix pt-10 pb-10 bg-jiscWhite " data-testid="content-area"><div class="box-border block max-w-screen-md px-4 mx-auto md:px-6" data-testclass="container"><div class="sm:box-border sm:flex sm:w-[calc(100%+1rem)] sm:-mx-2"><div class="hidden sm:box-border sm:px-2 sm:block sm:w-1/12" data-testid="replace-material-ui-hidden--1/12@sm"></div><div class="sm:box-border sm:px-2 sm:w-10/12"><div class=" clearfix | prose | antialiased | font-sans | max-w-full | prose-h2:text-[2rem] prose-h2:font-normal prose-h2:leading-[3.0rem] prose-h2:sm:text-[2.25rem] prose-h2:md:text-[2.5rem] prose-h2:md:leading-[3.5rem] | prose-h2:mt-10 prose-h2:mb-6 first:prose-h2:mt-0 last:prose-h2:mb-0 prose-h3:text-[1.5rem] prose-h3:font-medium prose-h3:leading-[2rem] first:prose-h3:mt-0 last:prose-h3:mb-0 prose-h3:mt-10 prose-h3:mb-6 prose-h3:sm:text-[1.75rem] prose-h3:sm:leading-[2.5rem] prose-h3:md:text-[2rem] prose-h3:md:leading-[3rem] | prose-h4:text-[1.25rem] prose-h4:font-normal prose-h4:leading-[2rem] first:prose-h4:mt-0 last:prose-h4:mb-0 prose-h4:mt-10 prose-h4:mb-6 prose-h4:md:text-[1.5rem] prose-h4:md:leading-[2rem] | prose-h5:text-[1rem] prose-h5:font-medium prose-h5:leading-[1.5rem] prose-h5:mt-10 prose-h5:mb-6 first:prose-h5:mt-[unset] last:prose-h5:mb-[unset] prose-h5:md:text-[1.25rem] prose-h5:md:leading-[2rem] prose-h6:text-[1rem] prose-h6:font-semibold prose-h6:leading-[1.5rem] prose-h6:mt-10 prose-h6:mb-6 first:prose-h6:mt-[unset] last:prose-h6:mb-[unset] prose-p:my-6 prose-p:text-[1rem] prose-p:font-normal prose-p:leading-[1.5rem] first:prose-p:mt-[unset] last:prose-p:mb-[unset] empty:first:prose-p:-mt-6 prose-blockquote:my-[unset] prose-blockquote:ml-6 prose-blockquote:text-[1rem] prose-blockquote:not-italic prose-blockquote:font-normal prose-blockquote:leading-[1.5rem] prose-blockquote:border-solid prose-blockquote:border-0 prose-blockquote:border-l-[.0625rem] prose-p:prose-blockquote:py-3 before:prose-p:prose-blockquote:content-[unset] after:prose-p:prose-blockquote:content-[unset] prose-li:text-[1rem] prose-li:font-normal prose-li:leading-[1.5rem] | first:prose-li:mt-2 prose-li:pl-2 | first:prose-ol:mt-0 last:prose-ol:mb-0 prose-ol:my-6 prose-ol:pl-8 prose-ol:leading-[1.5rem] | first:prose-ul:mt-0 last:prose-ul:mb-0 prose-ul:my-6 prose-ul:pl-8 prose-ul:leading-[1.5rem] | prose-table:leading-[1.5rem] | prose-table:mt-[unset] prose-table:mb-[unset] | prose-table:border-collapse | prose-p:prose-td:text-[0.875rem] | prose-p:prose-th:text-[0.875rem] | prose-li:prose-th:text-[0.875rem] | prose-li:prose-td:text-[0.875rem] | prose-td:border-solid prose-td:border-l-[0rem] prose-td:border-r-[0rem] prose-td:border-jiscAlto | prose-td:border-b-[0.0625rem] prose-td:border-t-[0.0625rem] | prose-td:p-4 prose-td:align-middle prose-td:leading-[1.5rem]| prose-th:border-solid prose-th:border-l-[0rem] prose-th:border-r-[0rem] prose-th:border-jiscAlto | prose-th:border-b-[0.0625rem] prose-th:border-t-[0.0625rem] prose-th:border-b-jiscAlto prose-th:border-t-jiscAlto | prose-th:p-4 prose-th:align-middle prose-th:leading-[1.5rem] | prose-th:font-medium | prose-tr:border-b-jiscAlto prose-tr:border-t-jiscAlto | prose-img:block prose-img:max-w-full prose-img:h-auto prose-img:my-6 prose-img:leading-none | prose-a:font-normal prose-a:text-jiscBahamaBlue prose-a:underline | visited:prose-a:text-jiscPurple | focus:prose-a:text-jiscBlack focus:prose-a:bg-jiscDandelion focus:prose-a:outline focus:prose-a:outline-4 focus:prose-a:outline-transparent focus:prose-a:no-underline focus:prose-a:shadow-[0_.25rem_0_0_#fd6,_0_-.25rem_0_0_#fd6] | hover:prose-a:text-jiscRegalBlue | active:prose-a:text-jiscBlack | focus:active:prose-a:underline focus:active:prose-a:bg-transparent focus:active:prose-a:shadow-none | prose-strong:prose-a:text-jiscBahamaBlue | prose-strong:visited:prose-a:text-jiscPurple | prose-strong:focus:prose-a:text-jiscBlack | prose-strong:hover:prose-a:text-jiscRegalBlue | prose-strong:active:prose-a:text-jiscBlack || prose-blockquote:border-l-jiscAlto || marker:text-jiscMineShaft | prose-blockquote:text-jiscDoveGrey | prose-headings:text-jiscMineShaft | prose-li:text-jiscMineShaft | prose-ol:text-jiscMineShaft | prose-p:text-jiscMineShaft | prose-strong:text-jiscMineShaft | prose-table:text-jiscMineShaft | prose-ul:text-jiscMineShaft | | mb-6 |"><p data-block-key="mbduk"></p><h2 id="overview-17jk7" data-block-key="17jk7">Overview</h2><p data-block-key="re3c">Our test systems are hosted at two points of presence (PoPs) on the Janet backbone: those at our Slough data centre (DC) run at 10Gbit/s, while our newer facility at London is connected at up to 100Gbit/s. </p><p data-block-key="d5f8b">All our servers support both IPv4 and IPv6, and all support 9000 MTU. </p><p data-block-key="45o21">All Jisc network test facility servers and services run under the domain perf.ja.net. </p></div><div class="pt-10 px-8 pb-10 mt-10 mb-10 text-jiscWhite bg-jiscBrandBlue-dark " data-testid="boxed-content"><div class=" clearfix | prose | antialiased | font-sans | max-w-full | prose-h2:text-[2rem] prose-h2:font-normal prose-h2:leading-[3.0rem] prose-h2:sm:text-[2.25rem] prose-h2:md:text-[2.5rem] prose-h2:md:leading-[3.5rem] | prose-h2:mt-10 prose-h2:mb-6 first:prose-h2:mt-0 last:prose-h2:mb-0 prose-h3:text-[1.5rem] prose-h3:font-medium prose-h3:leading-[2rem] first:prose-h3:mt-0 last:prose-h3:mb-0 prose-h3:mt-10 prose-h3:mb-6 prose-h3:sm:text-[1.75rem] prose-h3:sm:leading-[2.5rem] prose-h3:md:text-[2rem] prose-h3:md:leading-[3rem] | prose-h4:text-[1.25rem] prose-h4:font-normal prose-h4:leading-[2rem] first:prose-h4:mt-0 last:prose-h4:mb-0 prose-h4:mt-10 prose-h4:mb-6 prose-h4:md:text-[1.5rem] prose-h4:md:leading-[2rem] | prose-h5:text-[1rem] prose-h5:font-medium prose-h5:leading-[1.5rem] prose-h5:mt-10 prose-h5:mb-6 first:prose-h5:mt-[unset] last:prose-h5:mb-[unset] prose-h5:md:text-[1.25rem] prose-h5:md:leading-[2rem] prose-h6:text-[1rem] prose-h6:font-semibold prose-h6:leading-[1.5rem] prose-h6:mt-10 prose-h6:mb-6 first:prose-h6:mt-[unset] last:prose-h6:mb-[unset] prose-p:my-6 prose-p:text-[1rem] prose-p:font-normal prose-p:leading-[1.5rem] first:prose-p:mt-[unset] last:prose-p:mb-[unset] empty:first:prose-p:-mt-6 prose-blockquote:my-[unset] prose-blockquote:ml-6 prose-blockquote:text-[1rem] prose-blockquote:not-italic prose-blockquote:font-normal prose-blockquote:leading-[1.5rem] prose-blockquote:border-solid prose-blockquote:border-0 prose-blockquote:border-l-[.0625rem] prose-p:prose-blockquote:py-3 before:prose-p:prose-blockquote:content-[unset] after:prose-p:prose-blockquote:content-[unset] prose-li:text-[1rem] prose-li:font-normal prose-li:leading-[1.5rem] | first:prose-li:mt-2 prose-li:pl-2 | first:prose-ol:mt-0 last:prose-ol:mb-0 prose-ol:my-6 prose-ol:pl-8 prose-ol:leading-[1.5rem] | first:prose-ul:mt-0 last:prose-ul:mb-0 prose-ul:my-6 prose-ul:pl-8 prose-ul:leading-[1.5rem] | prose-table:leading-[1.5rem] | prose-table:mt-[unset] prose-table:mb-[unset] | prose-table:border-collapse | prose-p:prose-td:text-[0.875rem] | prose-p:prose-th:text-[0.875rem] | prose-li:prose-th:text-[0.875rem] | prose-li:prose-td:text-[0.875rem] | prose-td:border-solid prose-td:border-l-[0rem] prose-td:border-r-[0rem] prose-td:border-jiscAlto | prose-td:border-b-[0.0625rem] prose-td:border-t-[0.0625rem] | prose-td:p-4 prose-td:align-middle prose-td:leading-[1.5rem]| prose-th:border-solid prose-th:border-l-[0rem] prose-th:border-r-[0rem] prose-th:border-jiscAlto | prose-th:border-b-[0.0625rem] prose-th:border-t-[0.0625rem] prose-th:border-b-jiscAlto prose-th:border-t-jiscAlto | prose-th:p-4 prose-th:align-middle prose-th:leading-[1.5rem] | prose-th:font-medium | prose-tr:border-b-jiscAlto prose-tr:border-t-jiscAlto | prose-img:block prose-img:max-w-full prose-img:h-auto prose-img:my-6 prose-img:leading-none | prose-a:font-normal prose-a:text-jiscWhite prose-a:underline | visited:prose-a:text-jiscAlto | focus:prose-a:text-jiscBlack focus:prose-a:bg-jiscDandelion focus:prose-a:outline focus:prose-a:outline-4 focus:prose-a:outline-transparent focus:prose-a:no-underline focus:prose-a:shadow-[0_.25rem_0_0_#fd6,_0_-.25rem_0_0_#fd6] | hover:prose-a:text-jiscAlto | active:prose-a:text-jiscWhite | focus:active:prose-a:underline focus:active:prose-a:bg-transparent focus:active:prose-a:shadow-none | prose-strong:prose-a:text-jiscWhite | prose-strong:visited:prose-a:text-jiscAlto | prose-strong:focus:prose-a:text-jiscBlack | prose-strong:hover:prose-a:text-jiscAlto | prose-strong:active:prose-a:text-jiscWhite || prose-blockquote:border-l-jiscWhite || marker:text-jiscWhite | prose-blockquote:text-jiscWhite | prose-headings:text-jiscWhite | prose-li:text-jiscWhite | prose-ol:text-jiscWhite | prose-p:text-jiscWhite | prose-strong:text-jiscWhite | prose-table:text-jiscWhite | prose-ul:text-jiscWhite | | |"><p data-block-key="jrm2j"><strong>Top tip:</strong> To obtain the best performance results, it is important to tune the system you are using to run your tests. There is useful <a href="http://web.archive.org/web/20240227040306/https://fasterdata.es.net/">Fasterdata guidance</a>, in particular under the host tuning section, and for good end-to-end performance you should also take note of the network and Science DMZ sections. </p></div></div><div class=" clearfix | prose | antialiased | font-sans | max-w-full | prose-h2:text-[2rem] prose-h2:font-normal prose-h2:leading-[3.0rem] prose-h2:sm:text-[2.25rem] prose-h2:md:text-[2.5rem] prose-h2:md:leading-[3.5rem] | prose-h2:mt-10 prose-h2:mb-6 first:prose-h2:mt-0 last:prose-h2:mb-0 prose-h3:text-[1.5rem] prose-h3:font-medium prose-h3:leading-[2rem] first:prose-h3:mt-0 last:prose-h3:mb-0 prose-h3:mt-10 prose-h3:mb-6 prose-h3:sm:text-[1.75rem] prose-h3:sm:leading-[2.5rem] prose-h3:md:text-[2rem] prose-h3:md:leading-[3rem] | prose-h4:text-[1.25rem] prose-h4:font-normal prose-h4:leading-[2rem] first:prose-h4:mt-0 last:prose-h4:mb-0 prose-h4:mt-10 prose-h4:mb-6 prose-h4:md:text-[1.5rem] prose-h4:md:leading-[2rem] | prose-h5:text-[1rem] prose-h5:font-medium prose-h5:leading-[1.5rem] prose-h5:mt-10 prose-h5:mb-6 first:prose-h5:mt-[unset] last:prose-h5:mb-[unset] prose-h5:md:text-[1.25rem] prose-h5:md:leading-[2rem] prose-h6:text-[1rem] prose-h6:font-semibold prose-h6:leading-[1.5rem] prose-h6:mt-10 prose-h6:mb-6 first:prose-h6:mt-[unset] last:prose-h6:mb-[unset] prose-p:my-6 prose-p:text-[1rem] prose-p:font-normal prose-p:leading-[1.5rem] first:prose-p:mt-[unset] last:prose-p:mb-[unset] empty:first:prose-p:-mt-6 prose-blockquote:my-[unset] prose-blockquote:ml-6 prose-blockquote:text-[1rem] prose-blockquote:not-italic prose-blockquote:font-normal prose-blockquote:leading-[1.5rem] prose-blockquote:border-solid prose-blockquote:border-0 prose-blockquote:border-l-[.0625rem] prose-p:prose-blockquote:py-3 before:prose-p:prose-blockquote:content-[unset] after:prose-p:prose-blockquote:content-[unset] prose-li:text-[1rem] prose-li:font-normal prose-li:leading-[1.5rem] | first:prose-li:mt-2 prose-li:pl-2 | first:prose-ol:mt-0 last:prose-ol:mb-0 prose-ol:my-6 prose-ol:pl-8 prose-ol:leading-[1.5rem] | first:prose-ul:mt-0 last:prose-ul:mb-0 prose-ul:my-6 prose-ul:pl-8 prose-ul:leading-[1.5rem] | prose-table:leading-[1.5rem] | prose-table:mt-[unset] prose-table:mb-[unset] | prose-table:border-collapse | prose-p:prose-td:text-[0.875rem] | prose-p:prose-th:text-[0.875rem] | prose-li:prose-th:text-[0.875rem] | prose-li:prose-td:text-[0.875rem] | prose-td:border-solid prose-td:border-l-[0rem] prose-td:border-r-[0rem] prose-td:border-jiscAlto | prose-td:border-b-[0.0625rem] prose-td:border-t-[0.0625rem] | prose-td:p-4 prose-td:align-middle prose-td:leading-[1.5rem]| prose-th:border-solid prose-th:border-l-[0rem] prose-th:border-r-[0rem] prose-th:border-jiscAlto | prose-th:border-b-[0.0625rem] prose-th:border-t-[0.0625rem] prose-th:border-b-jiscAlto prose-th:border-t-jiscAlto | prose-th:p-4 prose-th:align-middle prose-th:leading-[1.5rem] | prose-th:font-medium | prose-tr:border-b-jiscAlto prose-tr:border-t-jiscAlto | prose-img:block prose-img:max-w-full prose-img:h-auto prose-img:my-6 prose-img:leading-none | prose-a:font-normal prose-a:text-jiscBahamaBlue prose-a:underline | visited:prose-a:text-jiscPurple | focus:prose-a:text-jiscBlack focus:prose-a:bg-jiscDandelion focus:prose-a:outline focus:prose-a:outline-4 focus:prose-a:outline-transparent focus:prose-a:no-underline focus:prose-a:shadow-[0_.25rem_0_0_#fd6,_0_-.25rem_0_0_#fd6] | hover:prose-a:text-jiscRegalBlue | active:prose-a:text-jiscBlack | focus:active:prose-a:underline focus:active:prose-a:bg-transparent focus:active:prose-a:shadow-none | prose-strong:prose-a:text-jiscBahamaBlue | prose-strong:visited:prose-a:text-jiscPurple | prose-strong:focus:prose-a:text-jiscBlack | prose-strong:hover:prose-a:text-jiscRegalBlue | prose-strong:active:prose-a:text-jiscBlack || prose-blockquote:border-l-jiscAlto || marker:text-jiscMineShaft | prose-blockquote:text-jiscDoveGrey | prose-headings:text-jiscMineShaft | prose-li:text-jiscMineShaft | prose-ol:text-jiscMineShaft | prose-p:text-jiscMineShaft | prose-strong:text-jiscMineShaft | prose-table:text-jiscMineShaft | prose-ul:text-jiscMineShaft | | mt-6 mb-6 |"><p data-block-key="5bo7e"></p><h2 id="iperf-5tduk" data-block-key="5tduk">iperf</h2><p data-block-key="3vc0n">The commonly used iperf tool is generally used to test available throughput from a client to a server, or from the server back to the client. The test defaults to using TCP. </p><p data-block-key="5h8im">There are two versions of iperf, developed and maintained separately, and we support both. </p><p data-block-key="cjq3o"><strong>iperf2</strong></p><p data-block-key="7a0cq">This runs on its default port 5001. The client ships with many OSes, but the most recent version is available from <a href="http://web.archive.org/web/20240227040306/https://sourceforge.net/projects/iperf2/files/">sourceforge.net</a>.</p><p data-block-key="9iorq"><strong>iperf3</strong></p><p data-block-key="8pu24">This also runs on its default port 5201. You can download the client for a wide variety of OSes including mobile platforms. <a href="http://web.archive.org/web/20240227040306/https://iperf.fr/iperf-download.php">Download at iperf.fr</a>.</p><p data-block-key="c4i96">To test against the Slough server you can test with either iperf2 or iperf3 to the server name iperf-slough-10g.perf.ja.net.</p><p data-block-key="6sb0s"></p></div><div class="pt-10 px-8 pb-10 mt-10 mb-10 text-jiscMineShaft bg-jiscConcrete " data-testid="boxed-content"><div class=" clearfix | prose | antialiased | font-sans | max-w-full | prose-h2:text-[2rem] prose-h2:font-normal prose-h2:leading-[3.0rem] prose-h2:sm:text-[2.25rem] prose-h2:md:text-[2.5rem] prose-h2:md:leading-[3.5rem] | prose-h2:mt-10 prose-h2:mb-6 first:prose-h2:mt-0 last:prose-h2:mb-0 prose-h3:text-[1.5rem] prose-h3:font-medium prose-h3:leading-[2rem] first:prose-h3:mt-0 last:prose-h3:mb-0 prose-h3:mt-10 prose-h3:mb-6 prose-h3:sm:text-[1.75rem] prose-h3:sm:leading-[2.5rem] prose-h3:md:text-[2rem] prose-h3:md:leading-[3rem] | prose-h4:text-[1.25rem] prose-h4:font-normal prose-h4:leading-[2rem] first:prose-h4:mt-0 last:prose-h4:mb-0 prose-h4:mt-10 prose-h4:mb-6 prose-h4:md:text-[1.5rem] prose-h4:md:leading-[2rem] | prose-h5:text-[1rem] prose-h5:font-medium prose-h5:leading-[1.5rem] prose-h5:mt-10 prose-h5:mb-6 first:prose-h5:mt-[unset] last:prose-h5:mb-[unset] prose-h5:md:text-[1.25rem] prose-h5:md:leading-[2rem] prose-h6:text-[1rem] prose-h6:font-semibold prose-h6:leading-[1.5rem] prose-h6:mt-10 prose-h6:mb-6 first:prose-h6:mt-[unset] last:prose-h6:mb-[unset] prose-p:my-6 prose-p:text-[1rem] prose-p:font-normal prose-p:leading-[1.5rem] first:prose-p:mt-[unset] last:prose-p:mb-[unset] empty:first:prose-p:-mt-6 prose-blockquote:my-[unset] prose-blockquote:ml-6 prose-blockquote:text-[1rem] prose-blockquote:not-italic prose-blockquote:font-normal prose-blockquote:leading-[1.5rem] prose-blockquote:border-solid prose-blockquote:border-0 prose-blockquote:border-l-[.0625rem] prose-p:prose-blockquote:py-3 before:prose-p:prose-blockquote:content-[unset] after:prose-p:prose-blockquote:content-[unset] prose-li:text-[1rem] prose-li:font-normal prose-li:leading-[1.5rem] | first:prose-li:mt-2 prose-li:pl-2 | first:prose-ol:mt-0 last:prose-ol:mb-0 prose-ol:my-6 prose-ol:pl-8 prose-ol:leading-[1.5rem] | first:prose-ul:mt-0 last:prose-ul:mb-0 prose-ul:my-6 prose-ul:pl-8 prose-ul:leading-[1.5rem] | prose-table:leading-[1.5rem] | prose-table:mt-[unset] prose-table:mb-[unset] | prose-table:border-collapse | prose-p:prose-td:text-[0.875rem] | prose-p:prose-th:text-[0.875rem] | prose-li:prose-th:text-[0.875rem] | prose-li:prose-td:text-[0.875rem] | prose-td:border-solid prose-td:border-l-[0rem] prose-td:border-r-[0rem] prose-td:border-jiscAlto | prose-td:border-b-[0.0625rem] prose-td:border-t-[0.0625rem] | prose-td:p-4 prose-td:align-middle prose-td:leading-[1.5rem]| prose-th:border-solid prose-th:border-l-[0rem] prose-th:border-r-[0rem] prose-th:border-jiscAlto | prose-th:border-b-[0.0625rem] prose-th:border-t-[0.0625rem] prose-th:border-b-jiscAlto prose-th:border-t-jiscAlto | prose-th:p-4 prose-th:align-middle prose-th:leading-[1.5rem] | prose-th:font-medium | prose-tr:border-b-jiscAlto prose-tr:border-t-jiscAlto | prose-img:block prose-img:max-w-full prose-img:h-auto prose-img:my-6 prose-img:leading-none | prose-a:font-normal prose-a:text-jiscBahamaBlue prose-a:underline | visited:prose-a:text-jiscPurple | focus:prose-a:text-jiscBlack focus:prose-a:bg-jiscDandelion focus:prose-a:outline focus:prose-a:outline-4 focus:prose-a:outline-transparent focus:prose-a:no-underline focus:prose-a:shadow-[0_.25rem_0_0_#fd6,_0_-.25rem_0_0_#fd6] | hover:prose-a:text-jiscRegalBlue | active:prose-a:text-jiscBlack | focus:active:prose-a:underline focus:active:prose-a:bg-transparent focus:active:prose-a:shadow-none | prose-strong:prose-a:text-jiscBahamaBlue | prose-strong:visited:prose-a:text-jiscPurple | prose-strong:focus:prose-a:text-jiscBlack | prose-strong:hover:prose-a:text-jiscRegalBlue | prose-strong:active:prose-a:text-jiscBlack || prose-blockquote:border-l-jiscAlto || marker:text-jiscMineShaft | prose-blockquote:text-jiscDoveGrey | prose-headings:text-jiscMineShaft | prose-li:text-jiscMineShaft | prose-ol:text-jiscMineShaft | prose-p:text-jiscMineShaft | prose-strong:text-jiscMineShaft | prose-table:text-jiscMineShaft | prose-ul:text-jiscMineShaft | | |"><h3 data-block-key="ttp2m">Example iperf2 test</h3><p data-block-key="3s88m">The following shows iperf2 being run from another Jisc server to the iperf endpoint:</p><p data-block-key="catdl">$ iperf –c iperf-slough-10g.perf.ja.net<br/>------------------------------------------------------------<br/>Client connecting to iperf-slough-10g.perf.ja.net, TCP port 5001<br/>TCP window size: 11.1 MByte (default)<br/>------------------------------------------------------------<br/>[ 3] local 194.81.18.227 port 47990 connected with 194.81.18.231 port 5001<br/>[ ID] Interval Transfer Bandwidth<br/>[ 3] 0.0-10.0 sec 11.5 GBytes 9.90 Gbits/sec</p><p data-block-key="27anb">To test in the reverse path from the server to the client you can use the --reverse option; this is useful if you wish to test throughput into your site. </p></div></div><div class=" clearfix | prose | antialiased | font-sans | max-w-full | prose-h2:text-[2rem] prose-h2:font-normal prose-h2:leading-[3.0rem] prose-h2:sm:text-[2.25rem] prose-h2:md:text-[2.5rem] prose-h2:md:leading-[3.5rem] | prose-h2:mt-10 prose-h2:mb-6 first:prose-h2:mt-0 last:prose-h2:mb-0 prose-h3:text-[1.5rem] prose-h3:font-medium prose-h3:leading-[2rem] first:prose-h3:mt-0 last:prose-h3:mb-0 prose-h3:mt-10 prose-h3:mb-6 prose-h3:sm:text-[1.75rem] prose-h3:sm:leading-[2.5rem] prose-h3:md:text-[2rem] prose-h3:md:leading-[3rem] | prose-h4:text-[1.25rem] prose-h4:font-normal prose-h4:leading-[2rem] first:prose-h4:mt-0 last:prose-h4:mb-0 prose-h4:mt-10 prose-h4:mb-6 prose-h4:md:text-[1.5rem] prose-h4:md:leading-[2rem] | prose-h5:text-[1rem] prose-h5:font-medium prose-h5:leading-[1.5rem] prose-h5:mt-10 prose-h5:mb-6 first:prose-h5:mt-[unset] last:prose-h5:mb-[unset] prose-h5:md:text-[1.25rem] prose-h5:md:leading-[2rem] prose-h6:text-[1rem] prose-h6:font-semibold prose-h6:leading-[1.5rem] prose-h6:mt-10 prose-h6:mb-6 first:prose-h6:mt-[unset] last:prose-h6:mb-[unset] prose-p:my-6 prose-p:text-[1rem] prose-p:font-normal prose-p:leading-[1.5rem] first:prose-p:mt-[unset] last:prose-p:mb-[unset] empty:first:prose-p:-mt-6 prose-blockquote:my-[unset] prose-blockquote:ml-6 prose-blockquote:text-[1rem] prose-blockquote:not-italic prose-blockquote:font-normal prose-blockquote:leading-[1.5rem] prose-blockquote:border-solid prose-blockquote:border-0 prose-blockquote:border-l-[.0625rem] prose-p:prose-blockquote:py-3 before:prose-p:prose-blockquote:content-[unset] after:prose-p:prose-blockquote:content-[unset] prose-li:text-[1rem] prose-li:font-normal prose-li:leading-[1.5rem] | first:prose-li:mt-2 prose-li:pl-2 | first:prose-ol:mt-0 last:prose-ol:mb-0 prose-ol:my-6 prose-ol:pl-8 prose-ol:leading-[1.5rem] | first:prose-ul:mt-0 last:prose-ul:mb-0 prose-ul:my-6 prose-ul:pl-8 prose-ul:leading-[1.5rem] | prose-table:leading-[1.5rem] | prose-table:mt-[unset] prose-table:mb-[unset] | prose-table:border-collapse | prose-p:prose-td:text-[0.875rem] | prose-p:prose-th:text-[0.875rem] | prose-li:prose-th:text-[0.875rem] | prose-li:prose-td:text-[0.875rem] | prose-td:border-solid prose-td:border-l-[0rem] prose-td:border-r-[0rem] prose-td:border-jiscAlto | prose-td:border-b-[0.0625rem] prose-td:border-t-[0.0625rem] | prose-td:p-4 prose-td:align-middle prose-td:leading-[1.5rem]| prose-th:border-solid prose-th:border-l-[0rem] prose-th:border-r-[0rem] prose-th:border-jiscAlto | prose-th:border-b-[0.0625rem] prose-th:border-t-[0.0625rem] prose-th:border-b-jiscAlto prose-th:border-t-jiscAlto | prose-th:p-4 prose-th:align-middle prose-th:leading-[1.5rem] | prose-th:font-medium | prose-tr:border-b-jiscAlto prose-tr:border-t-jiscAlto | prose-img:block prose-img:max-w-full prose-img:h-auto prose-img:my-6 prose-img:leading-none | prose-a:font-normal prose-a:text-jiscBahamaBlue prose-a:underline | visited:prose-a:text-jiscPurple | focus:prose-a:text-jiscBlack focus:prose-a:bg-jiscDandelion focus:prose-a:outline focus:prose-a:outline-4 focus:prose-a:outline-transparent focus:prose-a:no-underline focus:prose-a:shadow-[0_.25rem_0_0_#fd6,_0_-.25rem_0_0_#fd6] | hover:prose-a:text-jiscRegalBlue | active:prose-a:text-jiscBlack | focus:active:prose-a:underline focus:active:prose-a:bg-transparent focus:active:prose-a:shadow-none | prose-strong:prose-a:text-jiscBahamaBlue | prose-strong:visited:prose-a:text-jiscPurple | prose-strong:focus:prose-a:text-jiscBlack | prose-strong:hover:prose-a:text-jiscRegalBlue | prose-strong:active:prose-a:text-jiscBlack || prose-blockquote:border-l-jiscAlto || marker:text-jiscMineShaft | prose-blockquote:text-jiscDoveGrey | prose-headings:text-jiscMineShaft | prose-li:text-jiscMineShaft | prose-ol:text-jiscMineShaft | prose-p:text-jiscMineShaft | prose-strong:text-jiscMineShaft | prose-table:text-jiscMineShaft | prose-ul:text-jiscMineShaft | | mt-6 mb-6 |"><p data-block-key="44ogf"></p><p data-block-key="bgfh1">Whether a single stream test can fill a link depends on the operating system, the link capacity, the server hardware and the server (TCP) tuning. For most Linux cases, it should be possible to drive 10Gbit/s with a single iperf stream. If not, it is also possible to run multi-stream tests which should achieve greater performance, particularly if there is some packet loss on the path. </p><p data-block-key="c11nt"></p></div><div class="pt-10 px-8 pb-10 mt-10 mb-10 text-jiscWhite bg-jiscBrandBlue-dark " data-testid="boxed-content"><div class=" clearfix | prose | antialiased | font-sans | max-w-full | prose-h2:text-[2rem] prose-h2:font-normal prose-h2:leading-[3.0rem] prose-h2:sm:text-[2.25rem] prose-h2:md:text-[2.5rem] prose-h2:md:leading-[3.5rem] | prose-h2:mt-10 prose-h2:mb-6 first:prose-h2:mt-0 last:prose-h2:mb-0 prose-h3:text-[1.5rem] prose-h3:font-medium prose-h3:leading-[2rem] first:prose-h3:mt-0 last:prose-h3:mb-0 prose-h3:mt-10 prose-h3:mb-6 prose-h3:sm:text-[1.75rem] prose-h3:sm:leading-[2.5rem] prose-h3:md:text-[2rem] prose-h3:md:leading-[3rem] | prose-h4:text-[1.25rem] prose-h4:font-normal prose-h4:leading-[2rem] first:prose-h4:mt-0 last:prose-h4:mb-0 prose-h4:mt-10 prose-h4:mb-6 prose-h4:md:text-[1.5rem] prose-h4:md:leading-[2rem] | prose-h5:text-[1rem] prose-h5:font-medium prose-h5:leading-[1.5rem] prose-h5:mt-10 prose-h5:mb-6 first:prose-h5:mt-[unset] last:prose-h5:mb-[unset] prose-h5:md:text-[1.25rem] prose-h5:md:leading-[2rem] prose-h6:text-[1rem] prose-h6:font-semibold prose-h6:leading-[1.5rem] prose-h6:mt-10 prose-h6:mb-6 first:prose-h6:mt-[unset] last:prose-h6:mb-[unset] prose-p:my-6 prose-p:text-[1rem] prose-p:font-normal prose-p:leading-[1.5rem] first:prose-p:mt-[unset] last:prose-p:mb-[unset] empty:first:prose-p:-mt-6 prose-blockquote:my-[unset] prose-blockquote:ml-6 prose-blockquote:text-[1rem] prose-blockquote:not-italic prose-blockquote:font-normal prose-blockquote:leading-[1.5rem] prose-blockquote:border-solid prose-blockquote:border-0 prose-blockquote:border-l-[.0625rem] prose-p:prose-blockquote:py-3 before:prose-p:prose-blockquote:content-[unset] after:prose-p:prose-blockquote:content-[unset] prose-li:text-[1rem] prose-li:font-normal prose-li:leading-[1.5rem] | first:prose-li:mt-2 prose-li:pl-2 | first:prose-ol:mt-0 last:prose-ol:mb-0 prose-ol:my-6 prose-ol:pl-8 prose-ol:leading-[1.5rem] | first:prose-ul:mt-0 last:prose-ul:mb-0 prose-ul:my-6 prose-ul:pl-8 prose-ul:leading-[1.5rem] | prose-table:leading-[1.5rem] | prose-table:mt-[unset] prose-table:mb-[unset] | prose-table:border-collapse | prose-p:prose-td:text-[0.875rem] | prose-p:prose-th:text-[0.875rem] | prose-li:prose-th:text-[0.875rem] | prose-li:prose-td:text-[0.875rem] | prose-td:border-solid prose-td:border-l-[0rem] prose-td:border-r-[0rem] prose-td:border-jiscAlto | prose-td:border-b-[0.0625rem] prose-td:border-t-[0.0625rem] | prose-td:p-4 prose-td:align-middle prose-td:leading-[1.5rem]| prose-th:border-solid prose-th:border-l-[0rem] prose-th:border-r-[0rem] prose-th:border-jiscAlto | prose-th:border-b-[0.0625rem] prose-th:border-t-[0.0625rem] prose-th:border-b-jiscAlto prose-th:border-t-jiscAlto | prose-th:p-4 prose-th:align-middle prose-th:leading-[1.5rem] | prose-th:font-medium | prose-tr:border-b-jiscAlto prose-tr:border-t-jiscAlto | prose-img:block prose-img:max-w-full prose-img:h-auto prose-img:my-6 prose-img:leading-none | prose-a:font-normal prose-a:text-jiscWhite prose-a:underline | visited:prose-a:text-jiscAlto | focus:prose-a:text-jiscBlack focus:prose-a:bg-jiscDandelion focus:prose-a:outline focus:prose-a:outline-4 focus:prose-a:outline-transparent focus:prose-a:no-underline focus:prose-a:shadow-[0_.25rem_0_0_#fd6,_0_-.25rem_0_0_#fd6] | hover:prose-a:text-jiscAlto | active:prose-a:text-jiscWhite | focus:active:prose-a:underline focus:active:prose-a:bg-transparent focus:active:prose-a:shadow-none | prose-strong:prose-a:text-jiscWhite | prose-strong:visited:prose-a:text-jiscAlto | prose-strong:focus:prose-a:text-jiscBlack | prose-strong:hover:prose-a:text-jiscAlto | prose-strong:active:prose-a:text-jiscWhite || prose-blockquote:border-l-jiscWhite || marker:text-jiscWhite | prose-blockquote:text-jiscWhite | prose-headings:text-jiscWhite | prose-li:text-jiscWhite | prose-ol:text-jiscWhite | prose-p:text-jiscWhite | prose-strong:text-jiscWhite | prose-table:text-jiscWhite | prose-ul:text-jiscWhite | | |"><p data-block-key="jrm2j"><strong>Top tip:</strong> We recommend using perfSONAR if you wish to measure throughput periodically over the long-term or run non-contending throughput tests. </p></div></div><div class=" clearfix | prose | antialiased | font-sans | max-w-full | prose-h2:text-[2rem] prose-h2:font-normal prose-h2:leading-[3.0rem] prose-h2:sm:text-[2.25rem] prose-h2:md:text-[2.5rem] prose-h2:md:leading-[3.5rem] | prose-h2:mt-10 prose-h2:mb-6 first:prose-h2:mt-0 last:prose-h2:mb-0 prose-h3:text-[1.5rem] prose-h3:font-medium prose-h3:leading-[2rem] first:prose-h3:mt-0 last:prose-h3:mb-0 prose-h3:mt-10 prose-h3:mb-6 prose-h3:sm:text-[1.75rem] prose-h3:sm:leading-[2.5rem] prose-h3:md:text-[2rem] prose-h3:md:leading-[3rem] | prose-h4:text-[1.25rem] prose-h4:font-normal prose-h4:leading-[2rem] first:prose-h4:mt-0 last:prose-h4:mb-0 prose-h4:mt-10 prose-h4:mb-6 prose-h4:md:text-[1.5rem] prose-h4:md:leading-[2rem] | prose-h5:text-[1rem] prose-h5:font-medium prose-h5:leading-[1.5rem] prose-h5:mt-10 prose-h5:mb-6 first:prose-h5:mt-[unset] last:prose-h5:mb-[unset] prose-h5:md:text-[1.25rem] prose-h5:md:leading-[2rem] prose-h6:text-[1rem] prose-h6:font-semibold prose-h6:leading-[1.5rem] prose-h6:mt-10 prose-h6:mb-6 first:prose-h6:mt-[unset] last:prose-h6:mb-[unset] prose-p:my-6 prose-p:text-[1rem] prose-p:font-normal prose-p:leading-[1.5rem] first:prose-p:mt-[unset] last:prose-p:mb-[unset] empty:first:prose-p:-mt-6 prose-blockquote:my-[unset] prose-blockquote:ml-6 prose-blockquote:text-[1rem] prose-blockquote:not-italic prose-blockquote:font-normal prose-blockquote:leading-[1.5rem] prose-blockquote:border-solid prose-blockquote:border-0 prose-blockquote:border-l-[.0625rem] prose-p:prose-blockquote:py-3 before:prose-p:prose-blockquote:content-[unset] after:prose-p:prose-blockquote:content-[unset] prose-li:text-[1rem] prose-li:font-normal prose-li:leading-[1.5rem] | first:prose-li:mt-2 prose-li:pl-2 | first:prose-ol:mt-0 last:prose-ol:mb-0 prose-ol:my-6 prose-ol:pl-8 prose-ol:leading-[1.5rem] | first:prose-ul:mt-0 last:prose-ul:mb-0 prose-ul:my-6 prose-ul:pl-8 prose-ul:leading-[1.5rem] | prose-table:leading-[1.5rem] | prose-table:mt-[unset] prose-table:mb-[unset] | prose-table:border-collapse | prose-p:prose-td:text-[0.875rem] | prose-p:prose-th:text-[0.875rem] | prose-li:prose-th:text-[0.875rem] | prose-li:prose-td:text-[0.875rem] | prose-td:border-solid prose-td:border-l-[0rem] prose-td:border-r-[0rem] prose-td:border-jiscAlto | prose-td:border-b-[0.0625rem] prose-td:border-t-[0.0625rem] | prose-td:p-4 prose-td:align-middle prose-td:leading-[1.5rem]| prose-th:border-solid prose-th:border-l-[0rem] prose-th:border-r-[0rem] prose-th:border-jiscAlto | prose-th:border-b-[0.0625rem] prose-th:border-t-[0.0625rem] prose-th:border-b-jiscAlto prose-th:border-t-jiscAlto | prose-th:p-4 prose-th:align-middle prose-th:leading-[1.5rem] | prose-th:font-medium | prose-tr:border-b-jiscAlto prose-tr:border-t-jiscAlto | prose-img:block prose-img:max-w-full prose-img:h-auto prose-img:my-6 prose-img:leading-none | prose-a:font-normal prose-a:text-jiscBahamaBlue prose-a:underline | visited:prose-a:text-jiscPurple | focus:prose-a:text-jiscBlack focus:prose-a:bg-jiscDandelion focus:prose-a:outline focus:prose-a:outline-4 focus:prose-a:outline-transparent focus:prose-a:no-underline focus:prose-a:shadow-[0_.25rem_0_0_#fd6,_0_-.25rem_0_0_#fd6] | hover:prose-a:text-jiscRegalBlue | active:prose-a:text-jiscBlack | focus:active:prose-a:underline focus:active:prose-a:bg-transparent focus:active:prose-a:shadow-none | prose-strong:prose-a:text-jiscBahamaBlue | prose-strong:visited:prose-a:text-jiscPurple | prose-strong:focus:prose-a:text-jiscBlack | prose-strong:hover:prose-a:text-jiscRegalBlue | prose-strong:active:prose-a:text-jiscBlack || prose-blockquote:border-l-jiscAlto || marker:text-jiscMineShaft | prose-blockquote:text-jiscDoveGrey | prose-headings:text-jiscMineShaft | prose-li:text-jiscMineShaft | prose-ol:text-jiscMineShaft | prose-p:text-jiscMineShaft | prose-strong:text-jiscMineShaft | prose-table:text-jiscMineShaft | prose-ul:text-jiscMineShaft | | mt-6 mb-6 |"><p data-block-key="dl7s4">We support iperf testing at rates over 10Gbit/s and up to 100Gbit/s at our London PoP, but this is currently only available on request to <a href="http://web.archive.org/web/20240227040306/mailto:netperf@jisc.ac.uk">netperf@jisc.ac.uk</a>. In this case, using multi-stream tests will likely be required to fill the higher capacity path. </p><h2 id="ethr-1tugv" data-block-key="1tugv">Ethr</h2><p data-block-key="cnbag"><a href="http://web.archive.org/web/20240227040306/https://github.com/microsoft/ethr">Ethr</a> is an alternative network performance test tool, written in Go. We provide an endpoint at our Slough PoP running at ethr-slough-10g.perf.ja.net. </p><p data-block-key="fdgn8">Distributions of ethr are available on GitHub, where the README provides instructions for Windows, Linux and macOS. <a href="http://web.archive.org/web/20240227040306/https://snapcraft.io/install/ethr-johanburati/centos">Find out specific CentOS instalaltion information</a>.</p><p data-block-key="et0u"></p></div><div class="pt-10 px-8 pb-10 mt-10 mb-10 text-jiscMineShaft bg-jiscConcrete " data-testid="boxed-content"><div class=" clearfix | prose | antialiased | font-sans | max-w-full | prose-h2:text-[2rem] prose-h2:font-normal prose-h2:leading-[3.0rem] prose-h2:sm:text-[2.25rem] prose-h2:md:text-[2.5rem] prose-h2:md:leading-[3.5rem] | prose-h2:mt-10 prose-h2:mb-6 first:prose-h2:mt-0 last:prose-h2:mb-0 prose-h3:text-[1.5rem] prose-h3:font-medium prose-h3:leading-[2rem] first:prose-h3:mt-0 last:prose-h3:mb-0 prose-h3:mt-10 prose-h3:mb-6 prose-h3:sm:text-[1.75rem] prose-h3:sm:leading-[2.5rem] prose-h3:md:text-[2rem] prose-h3:md:leading-[3rem] | prose-h4:text-[1.25rem] prose-h4:font-normal prose-h4:leading-[2rem] first:prose-h4:mt-0 last:prose-h4:mb-0 prose-h4:mt-10 prose-h4:mb-6 prose-h4:md:text-[1.5rem] prose-h4:md:leading-[2rem] | prose-h5:text-[1rem] prose-h5:font-medium prose-h5:leading-[1.5rem] prose-h5:mt-10 prose-h5:mb-6 first:prose-h5:mt-[unset] last:prose-h5:mb-[unset] prose-h5:md:text-[1.25rem] prose-h5:md:leading-[2rem] prose-h6:text-[1rem] prose-h6:font-semibold prose-h6:leading-[1.5rem] prose-h6:mt-10 prose-h6:mb-6 first:prose-h6:mt-[unset] last:prose-h6:mb-[unset] prose-p:my-6 prose-p:text-[1rem] prose-p:font-normal prose-p:leading-[1.5rem] first:prose-p:mt-[unset] last:prose-p:mb-[unset] empty:first:prose-p:-mt-6 prose-blockquote:my-[unset] prose-blockquote:ml-6 prose-blockquote:text-[1rem] prose-blockquote:not-italic prose-blockquote:font-normal prose-blockquote:leading-[1.5rem] prose-blockquote:border-solid prose-blockquote:border-0 prose-blockquote:border-l-[.0625rem] prose-p:prose-blockquote:py-3 before:prose-p:prose-blockquote:content-[unset] after:prose-p:prose-blockquote:content-[unset] prose-li:text-[1rem] prose-li:font-normal prose-li:leading-[1.5rem] | first:prose-li:mt-2 prose-li:pl-2 | first:prose-ol:mt-0 last:prose-ol:mb-0 prose-ol:my-6 prose-ol:pl-8 prose-ol:leading-[1.5rem] | first:prose-ul:mt-0 last:prose-ul:mb-0 prose-ul:my-6 prose-ul:pl-8 prose-ul:leading-[1.5rem] | prose-table:leading-[1.5rem] | prose-table:mt-[unset] prose-table:mb-[unset] | prose-table:border-collapse | prose-p:prose-td:text-[0.875rem] | prose-p:prose-th:text-[0.875rem] | prose-li:prose-th:text-[0.875rem] | prose-li:prose-td:text-[0.875rem] | prose-td:border-solid prose-td:border-l-[0rem] prose-td:border-r-[0rem] prose-td:border-jiscAlto | prose-td:border-b-[0.0625rem] prose-td:border-t-[0.0625rem] | prose-td:p-4 prose-td:align-middle prose-td:leading-[1.5rem]| prose-th:border-solid prose-th:border-l-[0rem] prose-th:border-r-[0rem] prose-th:border-jiscAlto | prose-th:border-b-[0.0625rem] prose-th:border-t-[0.0625rem] prose-th:border-b-jiscAlto prose-th:border-t-jiscAlto | prose-th:p-4 prose-th:align-middle prose-th:leading-[1.5rem] | prose-th:font-medium | prose-tr:border-b-jiscAlto prose-tr:border-t-jiscAlto | prose-img:block prose-img:max-w-full prose-img:h-auto prose-img:my-6 prose-img:leading-none | prose-a:font-normal prose-a:text-jiscBahamaBlue prose-a:underline | visited:prose-a:text-jiscPurple | focus:prose-a:text-jiscBlack focus:prose-a:bg-jiscDandelion focus:prose-a:outline focus:prose-a:outline-4 focus:prose-a:outline-transparent focus:prose-a:no-underline focus:prose-a:shadow-[0_.25rem_0_0_#fd6,_0_-.25rem_0_0_#fd6] | hover:prose-a:text-jiscRegalBlue | active:prose-a:text-jiscBlack | focus:active:prose-a:underline focus:active:prose-a:bg-transparent focus:active:prose-a:shadow-none | prose-strong:prose-a:text-jiscBahamaBlue | prose-strong:visited:prose-a:text-jiscPurple | prose-strong:focus:prose-a:text-jiscBlack | prose-strong:hover:prose-a:text-jiscRegalBlue | prose-strong:active:prose-a:text-jiscBlack || prose-blockquote:border-l-jiscAlto || marker:text-jiscMineShaft | prose-blockquote:text-jiscDoveGrey | prose-headings:text-jiscMineShaft | prose-li:text-jiscMineShaft | prose-ol:text-jiscMineShaft | prose-p:text-jiscMineShaft | prose-strong:text-jiscMineShaft | prose-table:text-jiscMineShaft | prose-ul:text-jiscMineShaft | | |"><h3 data-block-key="75c8x">Example Ethr test</h3><p data-block-key="33h13">The syntax to run the test is similar to iperf, and full options can be seen with ethr –h</p><p data-block-key="f181l">$ ethr -c ethr-slough-10g.perf.ja.net<br/>Connecting to host [2001:630:3c:f803::12], port 9999<br/>[ 6] local 2001:630:3c:f803::6 port 55644 connected to 2001:630:3c:f803::12 port 9999</p><p data-block-key="co9go">- - - - - - - - - - - - - - - - - - - - - - -<br/>[ ID] Protocol Interval Bits/s<br/>[ 6] TCP 000-001 sec 9.55G<br/>[ 6] TCP 001-002 sec 9.89G<br/>[ 6] TCP 002-003 sec 9.67G<br/>[ 6] TCP 003-004 sec 9.31G<br/>[ 6] TCP 004-005 sec 9.88G<br/>[ 6] TCP 005-006 sec 9.84G<br/>[ 6] TCP 006-007 sec 9.78G<br/>[ 6] TCP 007-008 sec 9.87G<br/>[ 6] TCP 008-009 sec 9.88G<br/>[ 6] TCP 009-010 sec 9.72G</p><p data-block-key="d8h1v"></p><p data-block-key="av5vv">Ethr done, duration: 10s.</p><p data-block-key="8eps2">The ethr output looks more like that of iperf3, with per-second reporting by default. </p><p data-block-key="el1k9">Note that as per iperf, our ethr server at Slough may be in use by other users when you test, so you may not see the maximum available capacity at any given time. </p></div></div><div class=" clearfix | prose | antialiased | font-sans | max-w-full | prose-h2:text-[2rem] prose-h2:font-normal prose-h2:leading-[3.0rem] prose-h2:sm:text-[2.25rem] prose-h2:md:text-[2.5rem] prose-h2:md:leading-[3.5rem] | prose-h2:mt-10 prose-h2:mb-6 first:prose-h2:mt-0 last:prose-h2:mb-0 prose-h3:text-[1.5rem] prose-h3:font-medium prose-h3:leading-[2rem] first:prose-h3:mt-0 last:prose-h3:mb-0 prose-h3:mt-10 prose-h3:mb-6 prose-h3:sm:text-[1.75rem] prose-h3:sm:leading-[2.5rem] prose-h3:md:text-[2rem] prose-h3:md:leading-[3rem] | prose-h4:text-[1.25rem] prose-h4:font-normal prose-h4:leading-[2rem] first:prose-h4:mt-0 last:prose-h4:mb-0 prose-h4:mt-10 prose-h4:mb-6 prose-h4:md:text-[1.5rem] prose-h4:md:leading-[2rem] | prose-h5:text-[1rem] prose-h5:font-medium prose-h5:leading-[1.5rem] prose-h5:mt-10 prose-h5:mb-6 first:prose-h5:mt-[unset] last:prose-h5:mb-[unset] prose-h5:md:text-[1.25rem] prose-h5:md:leading-[2rem] prose-h6:text-[1rem] prose-h6:font-semibold prose-h6:leading-[1.5rem] prose-h6:mt-10 prose-h6:mb-6 first:prose-h6:mt-[unset] last:prose-h6:mb-[unset] prose-p:my-6 prose-p:text-[1rem] prose-p:font-normal prose-p:leading-[1.5rem] first:prose-p:mt-[unset] last:prose-p:mb-[unset] empty:first:prose-p:-mt-6 prose-blockquote:my-[unset] prose-blockquote:ml-6 prose-blockquote:text-[1rem] prose-blockquote:not-italic prose-blockquote:font-normal prose-blockquote:leading-[1.5rem] prose-blockquote:border-solid prose-blockquote:border-0 prose-blockquote:border-l-[.0625rem] prose-p:prose-blockquote:py-3 before:prose-p:prose-blockquote:content-[unset] after:prose-p:prose-blockquote:content-[unset] prose-li:text-[1rem] prose-li:font-normal prose-li:leading-[1.5rem] | first:prose-li:mt-2 prose-li:pl-2 | first:prose-ol:mt-0 last:prose-ol:mb-0 prose-ol:my-6 prose-ol:pl-8 prose-ol:leading-[1.5rem] | first:prose-ul:mt-0 last:prose-ul:mb-0 prose-ul:my-6 prose-ul:pl-8 prose-ul:leading-[1.5rem] | prose-table:leading-[1.5rem] | prose-table:mt-[unset] prose-table:mb-[unset] | prose-table:border-collapse | prose-p:prose-td:text-[0.875rem] | prose-p:prose-th:text-[0.875rem] | prose-li:prose-th:text-[0.875rem] | prose-li:prose-td:text-[0.875rem] | prose-td:border-solid prose-td:border-l-[0rem] prose-td:border-r-[0rem] prose-td:border-jiscAlto | prose-td:border-b-[0.0625rem] prose-td:border-t-[0.0625rem] | prose-td:p-4 prose-td:align-middle prose-td:leading-[1.5rem]| prose-th:border-solid prose-th:border-l-[0rem] prose-th:border-r-[0rem] prose-th:border-jiscAlto | prose-th:border-b-[0.0625rem] prose-th:border-t-[0.0625rem] prose-th:border-b-jiscAlto prose-th:border-t-jiscAlto | prose-th:p-4 prose-th:align-middle prose-th:leading-[1.5rem] | prose-th:font-medium | prose-tr:border-b-jiscAlto prose-tr:border-t-jiscAlto | prose-img:block prose-img:max-w-full prose-img:h-auto prose-img:my-6 prose-img:leading-none | prose-a:font-normal prose-a:text-jiscBahamaBlue prose-a:underline | visited:prose-a:text-jiscPurple | focus:prose-a:text-jiscBlack focus:prose-a:bg-jiscDandelion focus:prose-a:outline focus:prose-a:outline-4 focus:prose-a:outline-transparent focus:prose-a:no-underline focus:prose-a:shadow-[0_.25rem_0_0_#fd6,_0_-.25rem_0_0_#fd6] | hover:prose-a:text-jiscRegalBlue | active:prose-a:text-jiscBlack | focus:active:prose-a:underline focus:active:prose-a:bg-transparent focus:active:prose-a:shadow-none | prose-strong:prose-a:text-jiscBahamaBlue | prose-strong:visited:prose-a:text-jiscPurple | prose-strong:focus:prose-a:text-jiscBlack | prose-strong:hover:prose-a:text-jiscRegalBlue | prose-strong:active:prose-a:text-jiscBlack || prose-blockquote:border-l-jiscAlto || marker:text-jiscMineShaft | prose-blockquote:text-jiscDoveGrey | prose-headings:text-jiscMineShaft | prose-li:text-jiscMineShaft | prose-ol:text-jiscMineShaft | prose-p:text-jiscMineShaft | prose-strong:text-jiscMineShaft | prose-table:text-jiscMineShaft | prose-ul:text-jiscMineShaft | | mt-6 mb-6 |"><p data-block-key="ajdfm"></p><p data-block-key="162k8"></p><h2 id="perfsonar-86v56" data-block-key="86v56">perfSONAR</h2><p data-block-key="1b2ag">An iperf or Ethr test only tests performance at a specific moment in time, just as a ping or traceroute test only shows you the current round-trip time, loss or path. </p><p data-block-key="2d3ll">In contrast, perfSONAR provides a means to measure a range of network characteristics over time, to record them, and to use that history of measurements to better diagnose or troubleshoot performance issues. By default, perfSONAR runs latency, loss and path tests continuously and throughput tests every 6 hours. </p><p data-block-key="6u71j"></p></div><div class="pt-10 px-8 pb-10 mt-10 mb-10 text-jiscWhite bg-jiscBrandBlue-dark " data-testid="boxed-content"><div class=" clearfix | prose | antialiased | font-sans | max-w-full | prose-h2:text-[2rem] prose-h2:font-normal prose-h2:leading-[3.0rem] prose-h2:sm:text-[2.25rem] prose-h2:md:text-[2.5rem] prose-h2:md:leading-[3.5rem] | prose-h2:mt-10 prose-h2:mb-6 first:prose-h2:mt-0 last:prose-h2:mb-0 prose-h3:text-[1.5rem] prose-h3:font-medium prose-h3:leading-[2rem] first:prose-h3:mt-0 last:prose-h3:mb-0 prose-h3:mt-10 prose-h3:mb-6 prose-h3:sm:text-[1.75rem] prose-h3:sm:leading-[2.5rem] prose-h3:md:text-[2rem] prose-h3:md:leading-[3rem] | prose-h4:text-[1.25rem] prose-h4:font-normal prose-h4:leading-[2rem] first:prose-h4:mt-0 last:prose-h4:mb-0 prose-h4:mt-10 prose-h4:mb-6 prose-h4:md:text-[1.5rem] prose-h4:md:leading-[2rem] | prose-h5:text-[1rem] prose-h5:font-medium prose-h5:leading-[1.5rem] prose-h5:mt-10 prose-h5:mb-6 first:prose-h5:mt-[unset] last:prose-h5:mb-[unset] prose-h5:md:text-[1.25rem] prose-h5:md:leading-[2rem] prose-h6:text-[1rem] prose-h6:font-semibold prose-h6:leading-[1.5rem] prose-h6:mt-10 prose-h6:mb-6 first:prose-h6:mt-[unset] last:prose-h6:mb-[unset] prose-p:my-6 prose-p:text-[1rem] prose-p:font-normal prose-p:leading-[1.5rem] first:prose-p:mt-[unset] last:prose-p:mb-[unset] empty:first:prose-p:-mt-6 prose-blockquote:my-[unset] prose-blockquote:ml-6 prose-blockquote:text-[1rem] prose-blockquote:not-italic prose-blockquote:font-normal prose-blockquote:leading-[1.5rem] prose-blockquote:border-solid prose-blockquote:border-0 prose-blockquote:border-l-[.0625rem] prose-p:prose-blockquote:py-3 before:prose-p:prose-blockquote:content-[unset] after:prose-p:prose-blockquote:content-[unset] prose-li:text-[1rem] prose-li:font-normal prose-li:leading-[1.5rem] | first:prose-li:mt-2 prose-li:pl-2 | first:prose-ol:mt-0 last:prose-ol:mb-0 prose-ol:my-6 prose-ol:pl-8 prose-ol:leading-[1.5rem] | first:prose-ul:mt-0 last:prose-ul:mb-0 prose-ul:my-6 prose-ul:pl-8 prose-ul:leading-[1.5rem] | prose-table:leading-[1.5rem] | prose-table:mt-[unset] prose-table:mb-[unset] | prose-table:border-collapse | prose-p:prose-td:text-[0.875rem] | prose-p:prose-th:text-[0.875rem] | prose-li:prose-th:text-[0.875rem] | prose-li:prose-td:text-[0.875rem] | prose-td:border-solid prose-td:border-l-[0rem] prose-td:border-r-[0rem] prose-td:border-jiscAlto | prose-td:border-b-[0.0625rem] prose-td:border-t-[0.0625rem] | prose-td:p-4 prose-td:align-middle prose-td:leading-[1.5rem]| prose-th:border-solid prose-th:border-l-[0rem] prose-th:border-r-[0rem] prose-th:border-jiscAlto | prose-th:border-b-[0.0625rem] prose-th:border-t-[0.0625rem] prose-th:border-b-jiscAlto prose-th:border-t-jiscAlto | prose-th:p-4 prose-th:align-middle prose-th:leading-[1.5rem] | prose-th:font-medium | prose-tr:border-b-jiscAlto prose-tr:border-t-jiscAlto | prose-img:block prose-img:max-w-full prose-img:h-auto prose-img:my-6 prose-img:leading-none | prose-a:font-normal prose-a:text-jiscWhite prose-a:underline | visited:prose-a:text-jiscAlto | focus:prose-a:text-jiscBlack focus:prose-a:bg-jiscDandelion focus:prose-a:outline focus:prose-a:outline-4 focus:prose-a:outline-transparent focus:prose-a:no-underline focus:prose-a:shadow-[0_.25rem_0_0_#fd6,_0_-.25rem_0_0_#fd6] | hover:prose-a:text-jiscAlto | active:prose-a:text-jiscWhite | focus:active:prose-a:underline focus:active:prose-a:bg-transparent focus:active:prose-a:shadow-none | prose-strong:prose-a:text-jiscWhite | prose-strong:visited:prose-a:text-jiscAlto | prose-strong:focus:prose-a:text-jiscBlack | prose-strong:hover:prose-a:text-jiscAlto | prose-strong:active:prose-a:text-jiscWhite || prose-blockquote:border-l-jiscWhite || marker:text-jiscWhite | prose-blockquote:text-jiscWhite | prose-headings:text-jiscWhite | prose-li:text-jiscWhite | prose-ol:text-jiscWhite | prose-p:text-jiscWhite | prose-strong:text-jiscWhite | prose-table:text-jiscWhite | prose-ul:text-jiscWhite | | |"><p data-block-key="j7qbx"><strong>Top tip:</strong> We recommend sites run at least one perfSONAR server. The software documentation discusses positioning, but this would typically be at your network edge, or alongside the main filestore you run data transfers to/from. </p></div></div><div class=" clearfix | prose | antialiased | font-sans | max-w-full | prose-h2:text-[2rem] prose-h2:font-normal prose-h2:leading-[3.0rem] prose-h2:sm:text-[2.25rem] prose-h2:md:text-[2.5rem] prose-h2:md:leading-[3.5rem] | prose-h2:mt-10 prose-h2:mb-6 first:prose-h2:mt-0 last:prose-h2:mb-0 prose-h3:text-[1.5rem] prose-h3:font-medium prose-h3:leading-[2rem] first:prose-h3:mt-0 last:prose-h3:mb-0 prose-h3:mt-10 prose-h3:mb-6 prose-h3:sm:text-[1.75rem] prose-h3:sm:leading-[2.5rem] prose-h3:md:text-[2rem] prose-h3:md:leading-[3rem] | prose-h4:text-[1.25rem] prose-h4:font-normal prose-h4:leading-[2rem] first:prose-h4:mt-0 last:prose-h4:mb-0 prose-h4:mt-10 prose-h4:mb-6 prose-h4:md:text-[1.5rem] prose-h4:md:leading-[2rem] | prose-h5:text-[1rem] prose-h5:font-medium prose-h5:leading-[1.5rem] prose-h5:mt-10 prose-h5:mb-6 first:prose-h5:mt-[unset] last:prose-h5:mb-[unset] prose-h5:md:text-[1.25rem] prose-h5:md:leading-[2rem] prose-h6:text-[1rem] prose-h6:font-semibold prose-h6:leading-[1.5rem] prose-h6:mt-10 prose-h6:mb-6 first:prose-h6:mt-[unset] last:prose-h6:mb-[unset] prose-p:my-6 prose-p:text-[1rem] prose-p:font-normal prose-p:leading-[1.5rem] first:prose-p:mt-[unset] last:prose-p:mb-[unset] empty:first:prose-p:-mt-6 prose-blockquote:my-[unset] prose-blockquote:ml-6 prose-blockquote:text-[1rem] prose-blockquote:not-italic prose-blockquote:font-normal prose-blockquote:leading-[1.5rem] prose-blockquote:border-solid prose-blockquote:border-0 prose-blockquote:border-l-[.0625rem] prose-p:prose-blockquote:py-3 before:prose-p:prose-blockquote:content-[unset] after:prose-p:prose-blockquote:content-[unset] prose-li:text-[1rem] prose-li:font-normal prose-li:leading-[1.5rem] | first:prose-li:mt-2 prose-li:pl-2 | first:prose-ol:mt-0 last:prose-ol:mb-0 prose-ol:my-6 prose-ol:pl-8 prose-ol:leading-[1.5rem] | first:prose-ul:mt-0 last:prose-ul:mb-0 prose-ul:my-6 prose-ul:pl-8 prose-ul:leading-[1.5rem] | prose-table:leading-[1.5rem] | prose-table:mt-[unset] prose-table:mb-[unset] | prose-table:border-collapse | prose-p:prose-td:text-[0.875rem] | prose-p:prose-th:text-[0.875rem] | prose-li:prose-th:text-[0.875rem] | prose-li:prose-td:text-[0.875rem] | prose-td:border-solid prose-td:border-l-[0rem] prose-td:border-r-[0rem] prose-td:border-jiscAlto | prose-td:border-b-[0.0625rem] prose-td:border-t-[0.0625rem] | prose-td:p-4 prose-td:align-middle prose-td:leading-[1.5rem]| prose-th:border-solid prose-th:border-l-[0rem] prose-th:border-r-[0rem] prose-th:border-jiscAlto | prose-th:border-b-[0.0625rem] prose-th:border-t-[0.0625rem] prose-th:border-b-jiscAlto prose-th:border-t-jiscAlto | prose-th:p-4 prose-th:align-middle prose-th:leading-[1.5rem] | prose-th:font-medium | prose-tr:border-b-jiscAlto prose-tr:border-t-jiscAlto | prose-img:block prose-img:max-w-full prose-img:h-auto prose-img:my-6 prose-img:leading-none | prose-a:font-normal prose-a:text-jiscBahamaBlue prose-a:underline | visited:prose-a:text-jiscPurple | focus:prose-a:text-jiscBlack focus:prose-a:bg-jiscDandelion focus:prose-a:outline focus:prose-a:outline-4 focus:prose-a:outline-transparent focus:prose-a:no-underline focus:prose-a:shadow-[0_.25rem_0_0_#fd6,_0_-.25rem_0_0_#fd6] | hover:prose-a:text-jiscRegalBlue | active:prose-a:text-jiscBlack | focus:active:prose-a:underline focus:active:prose-a:bg-transparent focus:active:prose-a:shadow-none | prose-strong:prose-a:text-jiscBahamaBlue | prose-strong:visited:prose-a:text-jiscPurple | prose-strong:focus:prose-a:text-jiscBlack | prose-strong:hover:prose-a:text-jiscRegalBlue | prose-strong:active:prose-a:text-jiscBlack || prose-blockquote:border-l-jiscAlto || marker:text-jiscMineShaft | prose-blockquote:text-jiscDoveGrey | prose-headings:text-jiscMineShaft | prose-li:text-jiscMineShaft | prose-ol:text-jiscMineShaft | prose-p:text-jiscMineShaft | prose-strong:text-jiscMineShaft | prose-table:text-jiscMineShaft | prose-ul:text-jiscMineShaft | | mt-6 mb-6 |"><p data-block-key="73flp"></p><p data-block-key="85o04">The <a href="http://web.archive.org/web/20240227040306/https://www.perfsonar.net/">perfSONAR software</a> is open source and runs on a variety of Linux platforms. A new major version, 5.0, was released in April 2023. <a href="http://web.archive.org/web/20240227040306/https://docs.perfsonar.net/">Read documentation about perfSONAR</a>.</p><p data-block-key="cavov">The software is usually run on a dedicated physical server, but you can use a VM or container.</p><p data-block-key="dqmtd">View guidance on:</p><ul><li data-block-key="r39c"><a href="http://web.archive.org/web/20240227040306/https://hub.docker.com/r/perfsonar/testpoint/">Docker information</a></li><li data-block-key="9keim"><a href="http://web.archive.org/web/20240227040306/https://docs.perfsonar.net/install_hardware.html">perfSONAR hardware guidance</a></li></ul><p data-block-key="b3to6">To minimise interference between tests you should use two separate network interfaces for the server, one for throughput tests, one for latency/loss tests. </p><p data-block-key="c0299">There are multiple perfSONAR components that can be installed. The simplest is to install the tools and testpoint packages, such that your server can run tests and report them to another server that archives the results into OpenSearch. The ‘core’ package will additionally allow local archiving, while the full toolkit install will give all functionality. <a href="http://web.archive.org/web/20240227040306/https://docs.perfsonar.net/install_options.html">Read guidance on perfSONAR installation options</a>. </p><p data-block-key="269ds">perfSONAR servers running the toolkit will need a certificate. We recommend you use a certificate that is signed by an authority trusted by browsers, such as certificates issued by the Jisc certificate service or Let’s Encrypt, rather than self-signed. </p><p data-block-key="5aurf">Once installed, you can configure persistent throughput and latency/loss tests to our Jisc perfSONAR servers. You should run throughput tests to the throughput interface, and latency tests to the latency interface. </p><p data-block-key="af7up">Slough DC, running at up to 10Gbit/s: </p><ul><li data-block-key="5urnb">Throughput interface - ps-slough-bw.perf.ja.net</li><li data-block-key="38qn3">Latency interface - ps-slough-lat.perf.ja.net</li></ul><p data-block-key="b0lpr">London PoP, running at up to 100Gbit/s: </p><ul><li data-block-key="64rsh">Throughput interface - ps-london-bw.perf.ja.net</li><li data-block-key="3nc73">Latency interface - ps-london-lat.perf.ja.net</li></ul><p data-block-key="7mt8m">perfSONAR uses a tool called pscheduler to ensure that throughput tests do not overlap or contend with other tests, so you should have the full capacity of the link available for your measurements. </p><p data-block-key="99o75">You can also run third-party tests with pscheduler, between two remote perfSONAR servers, if they are configured (via the limits file) to be open, for example: </p><p data-block-key="98dp0">$ pscheduler task throughput --source HOST1 --dest HOST2 </p><p data-block-key="e14nh">While tests can be configured to run persistently to/from any given perfSONAR server, it is also possible to create a ‘mesh’ of servers for a community where each tests against the other. One example is the UK World Large Hadron Collider Computing Grid (WLCG) community, GridPP, which has a number of <a href="http://web.archive.org/web/20240227040306/https://psmad.opensciencegrid.org/maddash-webui/index.cgi?dashboard=UK%20Mesh%20Config">meshes for IPv4 and IPv6 testing</a>. Another is the <a href="http://web.archive.org/web/20240227040306/https://psmad.opensciencegrid.org/maddash-webui/index.cgi?dashboard=WLCG%20100G%20Mesh">WLCG 100G server mesh</a>. Jisc can assist with mesh configurations if required. Other servers can be found via the perfSONAR lookup service. </p><h2 id="data-transfer-node-(dtn)-tests-1f2pu" data-block-key="1f2pu">Data Transfer Node (DTN) tests</h2><p data-block-key="3uukk">Jisc hosts data transfer nodes (DTNs) for application-oriented testing. We can install and support any specific data transfer tools on request. </p><p data-block-key="e02s3">Currently our Slough DC has a Globus endpoint, running at dtn-slough-10g.perf.ja.net, which is connected at 10Gbit/s.</p><p data-block-key="5ek8b">The basic Globus transfer tools can be run without a Globus licence/subscription. </p><p data-block-key="a7r1i">A variety of files is available for testing Globus with globus-url-copy: 1M.dat, 2M.dat, 10M.dat, 50M.dat, 1G.dat, 10G.dat, 20G.dat, 100G.dat, 1000G.dat </p><p data-block-key="b9j24">You can copy to /dev/null or to the file system, for example, copying a 10GB file to /dev/null: </p><p data-block-key="2ln8m">$ globus-url-copy -vb ftp://dtn-slough-10g.perf.ja.net:2811/space00/10G.dat /dev/null </p><p data-block-key="72p5d">There is also a directory with 100 x 1GB files for more sustained testing: </p><p data-block-key="a1ei1">$ globus-url-copy -r -vb ftp://dtn-slough-10g.perf.ja.net:2811/space00/small/ file:///tmp/ </p><p data-block-key="96n6g">We also have a 100G DTN at our London PoP. Please email <a href="http://web.archive.org/web/20240227040306/mailto:netperf@jisc.ac.uk">netperf@jisc.ac.uk</a> if you wish to test against this. </p><h2 id="ripe-atlas-anchor-eslo" data-block-key="eslo">RIPE Atlas anchor</h2><p data-block-key="aj9f">The <a href="http://web.archive.org/web/20240227040306/https://atlas.ripe.net/">RIPE Atlas project</a> has grown to over 10,000 measurement devices worldwide, and now supports both physical (small form factor USB/Ethernet) and virtual clients. These can be used to run lightweight tests such as latency, loss, HTTP and DNS between clients and anchors. </p><p data-block-key="839sj">Jisc runs a (physical) anchor at our Slough DC which has a web interface available at <a href="http://web.archive.org/web/20240227040306/https://atlas.ripe.net/probes/6695/">RIPE Atlas</a>. At the time of writing there are some 6,000 tests being run against the anchor. </p><h2 id="tools-in-development-b77uc" data-block-key="b77uc">Tools in development</h2><p data-block-key="1gbpg">We are currently looking to deploy an HTTP-based ‘speedtest’ service, most likely using the <a href="http://web.archive.org/web/20240227040306/https://librespeed.org/">open source librespeed package</a>. There are other implementations available which we are also testing. </p><p data-block-key="bio9q">Such speedtests aren’t necessarily as accurate as the ones described above, but these are the types of tests that will most likely be run by users served by the Janet network, and in their home networks, because they are trivially easy to run from a browser without installing any local software. By providing a familiar tool we can also include pointers at the test pages towards the more advanced tools, and information describing the limitations of ‘speedtest’ servers. </p><p data-block-key="d2ahh">We are also following the latest developments in the IP Performance Measurement working group at the Internet Engineering Task Force (IETF) on a new ‘responsiveness’ test. The idea of the test is to measure how many responses per second a server can reply with, which is an indication of the potential buffering delays or ‘buffer bloat’ in a network path. </p><p data-block-key="9q0ud"></p></div><div class="pt-10 px-8 pb-10 mt-10 mb-10 text-jiscMineShaft bg-jiscConcrete " data-testid="boxed-content"><div class=" clearfix | prose | antialiased | font-sans | max-w-full | prose-h2:text-[2rem] prose-h2:font-normal prose-h2:leading-[3.0rem] prose-h2:sm:text-[2.25rem] prose-h2:md:text-[2.5rem] prose-h2:md:leading-[3.5rem] | prose-h2:mt-10 prose-h2:mb-6 first:prose-h2:mt-0 last:prose-h2:mb-0 prose-h3:text-[1.5rem] prose-h3:font-medium prose-h3:leading-[2rem] first:prose-h3:mt-0 last:prose-h3:mb-0 prose-h3:mt-10 prose-h3:mb-6 prose-h3:sm:text-[1.75rem] prose-h3:sm:leading-[2.5rem] prose-h3:md:text-[2rem] prose-h3:md:leading-[3rem] | prose-h4:text-[1.25rem] prose-h4:font-normal prose-h4:leading-[2rem] first:prose-h4:mt-0 last:prose-h4:mb-0 prose-h4:mt-10 prose-h4:mb-6 prose-h4:md:text-[1.5rem] prose-h4:md:leading-[2rem] | prose-h5:text-[1rem] prose-h5:font-medium prose-h5:leading-[1.5rem] prose-h5:mt-10 prose-h5:mb-6 first:prose-h5:mt-[unset] last:prose-h5:mb-[unset] prose-h5:md:text-[1.25rem] prose-h5:md:leading-[2rem] prose-h6:text-[1rem] prose-h6:font-semibold prose-h6:leading-[1.5rem] prose-h6:mt-10 prose-h6:mb-6 first:prose-h6:mt-[unset] last:prose-h6:mb-[unset] prose-p:my-6 prose-p:text-[1rem] prose-p:font-normal prose-p:leading-[1.5rem] first:prose-p:mt-[unset] last:prose-p:mb-[unset] empty:first:prose-p:-mt-6 prose-blockquote:my-[unset] prose-blockquote:ml-6 prose-blockquote:text-[1rem] prose-blockquote:not-italic prose-blockquote:font-normal prose-blockquote:leading-[1.5rem] prose-blockquote:border-solid prose-blockquote:border-0 prose-blockquote:border-l-[.0625rem] prose-p:prose-blockquote:py-3 before:prose-p:prose-blockquote:content-[unset] after:prose-p:prose-blockquote:content-[unset] prose-li:text-[1rem] prose-li:font-normal prose-li:leading-[1.5rem] | first:prose-li:mt-2 prose-li:pl-2 | first:prose-ol:mt-0 last:prose-ol:mb-0 prose-ol:my-6 prose-ol:pl-8 prose-ol:leading-[1.5rem] | first:prose-ul:mt-0 last:prose-ul:mb-0 prose-ul:my-6 prose-ul:pl-8 prose-ul:leading-[1.5rem] | prose-table:leading-[1.5rem] | prose-table:mt-[unset] prose-table:mb-[unset] | prose-table:border-collapse | prose-p:prose-td:text-[0.875rem] | prose-p:prose-th:text-[0.875rem] | prose-li:prose-th:text-[0.875rem] | prose-li:prose-td:text-[0.875rem] | prose-td:border-solid prose-td:border-l-[0rem] prose-td:border-r-[0rem] prose-td:border-jiscAlto | prose-td:border-b-[0.0625rem] prose-td:border-t-[0.0625rem] | prose-td:p-4 prose-td:align-middle prose-td:leading-[1.5rem]| prose-th:border-solid prose-th:border-l-[0rem] prose-th:border-r-[0rem] prose-th:border-jiscAlto | prose-th:border-b-[0.0625rem] prose-th:border-t-[0.0625rem] prose-th:border-b-jiscAlto prose-th:border-t-jiscAlto | prose-th:p-4 prose-th:align-middle prose-th:leading-[1.5rem] | prose-th:font-medium | prose-tr:border-b-jiscAlto prose-tr:border-t-jiscAlto | prose-img:block prose-img:max-w-full prose-img:h-auto prose-img:my-6 prose-img:leading-none | prose-a:font-normal prose-a:text-jiscBahamaBlue prose-a:underline | visited:prose-a:text-jiscPurple | focus:prose-a:text-jiscBlack focus:prose-a:bg-jiscDandelion focus:prose-a:outline focus:prose-a:outline-4 focus:prose-a:outline-transparent focus:prose-a:no-underline focus:prose-a:shadow-[0_.25rem_0_0_#fd6,_0_-.25rem_0_0_#fd6] | hover:prose-a:text-jiscRegalBlue | active:prose-a:text-jiscBlack | focus:active:prose-a:underline focus:active:prose-a:bg-transparent focus:active:prose-a:shadow-none | prose-strong:prose-a:text-jiscBahamaBlue | prose-strong:visited:prose-a:text-jiscPurple | prose-strong:focus:prose-a:text-jiscBlack | prose-strong:hover:prose-a:text-jiscRegalBlue | prose-strong:active:prose-a:text-jiscBlack || prose-blockquote:border-l-jiscAlto || marker:text-jiscMineShaft | prose-blockquote:text-jiscDoveGrey | prose-headings:text-jiscMineShaft | prose-li:text-jiscMineShaft | prose-ol:text-jiscMineShaft | prose-p:text-jiscMineShaft | prose-strong:text-jiscMineShaft | prose-table:text-jiscMineShaft | prose-ul:text-jiscMineShaft | | |"><h3 data-block-key="u3hmp">Example new ‘responsiveness’ test</h3><p data-block-key="5ps5g">Our iperf2 server supports the first implementation of this (as of iperf 2.1.9), which you can test with the –bounceback option, for example: </p><p data-block-key="5ohe">$iperf -c iperf-slough-10g.perf.ja.net -i 1 --bounceback</p><p data-block-key="7et50">The test reports RPS (responses per second), the higher the better. </p></div></div><div class=" clearfix | prose | antialiased | font-sans | max-w-full | prose-h2:text-[2rem] prose-h2:font-normal prose-h2:leading-[3.0rem] prose-h2:sm:text-[2.25rem] prose-h2:md:text-[2.5rem] prose-h2:md:leading-[3.5rem] | prose-h2:mt-10 prose-h2:mb-6 first:prose-h2:mt-0 last:prose-h2:mb-0 prose-h3:text-[1.5rem] prose-h3:font-medium prose-h3:leading-[2rem] first:prose-h3:mt-0 last:prose-h3:mb-0 prose-h3:mt-10 prose-h3:mb-6 prose-h3:sm:text-[1.75rem] prose-h3:sm:leading-[2.5rem] prose-h3:md:text-[2rem] prose-h3:md:leading-[3rem] | prose-h4:text-[1.25rem] prose-h4:font-normal prose-h4:leading-[2rem] first:prose-h4:mt-0 last:prose-h4:mb-0 prose-h4:mt-10 prose-h4:mb-6 prose-h4:md:text-[1.5rem] prose-h4:md:leading-[2rem] | prose-h5:text-[1rem] prose-h5:font-medium prose-h5:leading-[1.5rem] prose-h5:mt-10 prose-h5:mb-6 first:prose-h5:mt-[unset] last:prose-h5:mb-[unset] prose-h5:md:text-[1.25rem] prose-h5:md:leading-[2rem] prose-h6:text-[1rem] prose-h6:font-semibold prose-h6:leading-[1.5rem] prose-h6:mt-10 prose-h6:mb-6 first:prose-h6:mt-[unset] last:prose-h6:mb-[unset] prose-p:my-6 prose-p:text-[1rem] prose-p:font-normal prose-p:leading-[1.5rem] first:prose-p:mt-[unset] last:prose-p:mb-[unset] empty:first:prose-p:-mt-6 prose-blockquote:my-[unset] prose-blockquote:ml-6 prose-blockquote:text-[1rem] prose-blockquote:not-italic prose-blockquote:font-normal prose-blockquote:leading-[1.5rem] prose-blockquote:border-solid prose-blockquote:border-0 prose-blockquote:border-l-[.0625rem] prose-p:prose-blockquote:py-3 before:prose-p:prose-blockquote:content-[unset] after:prose-p:prose-blockquote:content-[unset] prose-li:text-[1rem] prose-li:font-normal prose-li:leading-[1.5rem] | first:prose-li:mt-2 prose-li:pl-2 | first:prose-ol:mt-0 last:prose-ol:mb-0 prose-ol:my-6 prose-ol:pl-8 prose-ol:leading-[1.5rem] | first:prose-ul:mt-0 last:prose-ul:mb-0 prose-ul:my-6 prose-ul:pl-8 prose-ul:leading-[1.5rem] | prose-table:leading-[1.5rem] | prose-table:mt-[unset] prose-table:mb-[unset] | prose-table:border-collapse | prose-p:prose-td:text-[0.875rem] | prose-p:prose-th:text-[0.875rem] | prose-li:prose-th:text-[0.875rem] | prose-li:prose-td:text-[0.875rem] | prose-td:border-solid prose-td:border-l-[0rem] prose-td:border-r-[0rem] prose-td:border-jiscAlto | prose-td:border-b-[0.0625rem] prose-td:border-t-[0.0625rem] | prose-td:p-4 prose-td:align-middle prose-td:leading-[1.5rem]| prose-th:border-solid prose-th:border-l-[0rem] prose-th:border-r-[0rem] prose-th:border-jiscAlto | prose-th:border-b-[0.0625rem] prose-th:border-t-[0.0625rem] prose-th:border-b-jiscAlto prose-th:border-t-jiscAlto | prose-th:p-4 prose-th:align-middle prose-th:leading-[1.5rem] | prose-th:font-medium | prose-tr:border-b-jiscAlto prose-tr:border-t-jiscAlto | prose-img:block prose-img:max-w-full prose-img:h-auto prose-img:my-6 prose-img:leading-none | prose-a:font-normal prose-a:text-jiscBahamaBlue prose-a:underline | visited:prose-a:text-jiscPurple | focus:prose-a:text-jiscBlack focus:prose-a:bg-jiscDandelion focus:prose-a:outline focus:prose-a:outline-4 focus:prose-a:outline-transparent focus:prose-a:no-underline focus:prose-a:shadow-[0_.25rem_0_0_#fd6,_0_-.25rem_0_0_#fd6] | hover:prose-a:text-jiscRegalBlue | active:prose-a:text-jiscBlack | focus:active:prose-a:underline focus:active:prose-a:bg-transparent focus:active:prose-a:shadow-none | prose-strong:prose-a:text-jiscBahamaBlue | prose-strong:visited:prose-a:text-jiscPurple | prose-strong:focus:prose-a:text-jiscBlack | prose-strong:hover:prose-a:text-jiscRegalBlue | prose-strong:active:prose-a:text-jiscBlack || prose-blockquote:border-l-jiscAlto || marker:text-jiscMineShaft | prose-blockquote:text-jiscDoveGrey | prose-headings:text-jiscMineShaft | prose-li:text-jiscMineShaft | prose-ol:text-jiscMineShaft | prose-p:text-jiscMineShaft | prose-strong:text-jiscMineShaft | prose-table:text-jiscMineShaft | prose-ul:text-jiscMineShaft | | mt-6 |"><p data-block-key="cvrsn"></p><h2 id="further-information-9k6uv" data-block-key="9k6uv">Further information</h2><p data-block-key="e3gfn">You may also find the following links useful: </p><ul><li data-block-key="7uhc"><a href="http://web.archive.org/web/20240227040306/https://www.jisc.ac.uk/guides/supporting-large-scale-data-transfers-on-janet">Jisc advice and guidance for large scale data transfers over Janet</a></li><li data-block-key="31l8j"><a href="http://web.archive.org/web/20240227040306/https://www.jisc.ac.uk/get-involved/research-network-engineering-community-group">Jisc Research Network Engineering community</a></li><li data-block-key="85upn"><a href="http://web.archive.org/web/20240227040306/https://fasterdata.es.net/">End-to-end performance tuning guidance</a></li></ul><h2 id="contact-us-6la5q" data-block-key="6la5q">Contact us</h2><p data-block-key="2gr6j">For any queries about the Jisc test facility systems (on their use or their configuration) please contact our network performance team at <a href="http://web.archive.org/web/20240227040306/mailto:netperf@jisc.ac.uk">netperf@jisc.ac.uk</a> or you can email <a href="http://web.archive.org/web/20240227040306/mailto:elp@jisc.ac.uk">help@jisc.ac.uk</a> to raise a ticket with our service desk. </p><p data-block-key="dnd4g">If there are any other network test servers or services you would like us to host then please get in touch with us.</p></div><div class="p-10 my-10 font-sans text-sm antialiased font-normal bg-jiscConcrete text-jiscMineShaft">This guide is made available under <a href="http://web.archive.org/web/20240227040306/https://creativecommons.org/licenses/by-nc-nd/4.0/">Creative Commons License (CC BY-NC-ND).</a></div></div></div></div></div></article></main><footer aria-labelledby="site-footer" class="jss35"><div class="jss39 jss36 jss40"><div class="MuiContainer-root MuiContainer-maxWidthMd"><div class="MuiGrid-root jss48 MuiGrid-container"><div class="MuiGrid-root jss49 MuiGrid-item MuiGrid-grid-xs-12 MuiGrid-grid-sm-9"><h2 class="MuiTypography-root MuiTypography-srOnly" id="site-footer">Site footer</h2><div class=""><nav aria-label="Site footer breadcrumb" class="jss43"><ul class="jss45"><li class="jss46"><a aria-label="Jisc homepage" class="jss44" href="/web/20240227040306/https://www.jisc.ac.uk/" title="Jisc homepage"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="house" class="svg-inline--fa fa-house " role="img" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 576 512"><path fill="currentColor" d="M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c0 2.7-.2 5.4-.5 8.1V472c0 22.1-17.9 40-40 40H456c-1.1 0-2.2 0-3.3-.1c-1.4 .1-2.8 .1-4.2 .1H416 392c-22.1 0-40-17.9-40-40V448 384c0-17.7-14.3-32-32-32H256c-17.7 0-32 14.3-32 32v64 24c0 22.1-17.9 40-40 40H160 128.1c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2H104c-22.1 0-40-17.9-40-40V360c0-.9 0-1.9 .1-2.8V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24z"></path></svg></a></li><li class="jss46"><span class="jss47"><a class="jss60" href="/web/20240227040306/https://www.jisc.ac.uk/guides/">Guides</a></span></li><li aria-current="page" class="jss46"><span class="jss47">Using the Janet Network performance test facilities</span></li></ul></nav></div></div><div class="MuiGrid-root jss49 MuiGrid-item MuiGrid-grid-xs-12 MuiGrid-grid-sm-3"></div></div></div></div><div class="jss39 jss37 jss41"><div class="MuiContainer-root MuiContainer-maxWidthMd"><h3 class="MuiTypography-root MuiTypography-srOnly">Jisc product areas</h3><div class="MuiGrid-root jss48 MuiGrid-container"><div class="MuiGrid-root jss49 MuiGrid-item MuiGrid-grid-xs-12 MuiGrid-grid-sm-3"><h4 class="MuiTypography-root jss53 MuiTypography-body1">Areas</h4><ul class="jss51"><li class="jss54"><a class="jss60" href="/web/20240227040306/https://www.jisc.ac.uk/connectivity">Connectivity</a></li><li class="jss54"><a class="jss60" href="/web/20240227040306/https://www.jisc.ac.uk/cyber-security">Cyber security</a></li><li class="jss54"><a class="jss60" href="/web/20240227040306/https://www.jisc.ac.uk/cloud">Cloud</a></li><li class="jss54"><a class="jss60" href="/web/20240227040306/https://www.jisc.ac.uk/data-analytics">Data and analytics</a></li><li class="jss54"><a class="jss60" href="/web/20240227040306/https://www.jisc.ac.uk/libraries-learning-resources-and-research">Libraries, learning resources and research</a></li><li class="jss54"><a class="jss60" href="/web/20240227040306/https://www.jisc.ac.uk/student-experience">Student experience</a></li><li class="jss54"><a class="jss60" href="/web/20240227040306/https://www.jisc.ac.uk/trust-and-identity">Trust and identity</a></li><li class="jss54"><a class="jss60" href="/web/20240227040306/https://www.jisc.ac.uk/advice-and-guidance">Advice and guidance</a></li></ul></div><div class="MuiGrid-root jss49 MuiGrid-item MuiGrid-grid-xs-12 MuiGrid-grid-sm-3"><h4 class="MuiTypography-root jss53 jss52 MuiTypography-body1">Explore</h4><ul class="jss51"><li class="jss54"><a class="jss60" href="/web/20240227040306/https://www.jisc.ac.uk/guides">Guides</a></li><li class="jss54"><a class="jss60" href="/web/20240227040306/https://www.jisc.ac.uk/training">Training</a></li><li class="jss54"><a class="jss60" href="/web/20240227040306/https://www.jisc.ac.uk/consultancy">Consultancy</a></li><li class="jss54"><a class="jss60" href="/web/20240227040306/https://www.jisc.ac.uk/events">Events</a></li><li class="jss54"><a class="jss60" href="/web/20240227040306/https://www.jisc.ac.uk/innovation">Innovation</a></li></ul></div><div class="MuiGrid-root jss49 MuiGrid-item MuiGrid-grid-xs-12 MuiGrid-grid-sm-3"><h4 class="MuiTypography-root jss53 jss52 MuiTypography-body1">Useful</h4><ul class="jss51"><li class="jss54"><a class="jss60" href="/web/20240227040306/https://www.jisc.ac.uk/about-us">About</a></li><li class="jss54"><a class="jss60" href="/web/20240227040306/https://www.jisc.ac.uk/membership">Membership</a></li><li class="jss54"><a class="jss60" href="/web/20240227040306/https://www.jisc.ac.uk/get-involved">Get involved</a></li><li class="jss54"><a class="jss60" href="/web/20240227040306/https://www.jisc.ac.uk/news">News</a></li><li class="jss54"><a class="jss60" href="/web/20240227040306/https://www.jisc.ac.uk/jobs">Jobs</a></li></ul></div><div class="MuiGrid-root jss49 MuiGrid-item MuiGrid-grid-xs-12 MuiGrid-grid-sm-3"><h4 class="MuiTypography-root jss53 jss52 MuiTypography-body1">Get in touch</h4><ul class="jss51"><li class="jss54"><a class="jss60" href="/web/20240227040306/https://www.jisc.ac.uk/contact">Contact us</a></li><li class="jss54"><a class="jss60" href="/web/20240227040306/https://www.jisc.ac.uk/forms/headlines">Sign up to our newsletter</a></li><li class="jss54"><svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="twitter" class="svg-inline--fa fa-twitter jss55" role="img" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 512 512"><path fill="currentColor" d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"></path></svg><a class="jss60" href="http://web.archive.org/web/20240227040306/https://twitter.com/jisc">Twitter</a></li><li class="jss54"><svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="facebook" class="svg-inline--fa fa-facebook jss55" role="img" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 512 512"><path fill="currentColor" d="M512 256C512 114.6 397.4 0 256 0S0 114.6 0 256C0 376 82.7 476.8 194.2 504.5V334.2H141.4V256h52.8V222.3c0-87.1 39.4-127.5 125-127.5c16.2 0 44.2 3.2 55.7 6.4V172c-6-.6-16.5-1-29.6-1c-42 0-58.2 15.9-58.2 57.2V256h83.6l-14.4 78.2H287V510.1C413.8 494.8 512 386.9 512 256h0z"></path></svg><a class="jss60" href="http://web.archive.org/web/20240227040306/https://www.facebook.com/jiscsocial">Facebook</a></li><li class="jss54"><svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="linkedin" class="svg-inline--fa fa-linkedin jss55" role="img" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 448 512"><path fill="currentColor" d="M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z"></path></svg><a class="jss60" href="http://web.archive.org/web/20240227040306/https://www.linkedin.com/company/jisc">LinkedIn</a></li><li class="jss54"><svg aria-hidden="true" focusable="false" data-prefix="fab" data-icon="youtube" class="svg-inline--fa fa-youtube jss55" role="img" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 576 512"><path fill="currentColor" d="M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z"></path></svg><a class="jss60" href="http://web.archive.org/web/20240227040306/http://www.youtube.com/user/JISCmedia">YouTube</a></li></ul></div></div></div></div><div class="jss39 jss38 jss42"><div class="MuiContainer-root MuiContainer-maxWidthMd"><div class="MuiGrid-root jss48 MuiGrid-container"><div class="MuiGrid-root jss49 MuiGrid-item MuiGrid-grid-xs-12 MuiGrid-grid-sm-9"><h3 class="MuiTypography-root MuiTypography-srOnly">Site utilities</h3><ul class="jss56"><li class="jss58"><a class="jss60" href="/web/20240227040306/https://www.jisc.ac.uk/cookies">Cookies</a></li><li class="jss58"><a class="jss60" href="/web/20240227040306/https://www.jisc.ac.uk/website/privacy-notice">Privacy</a></li><li class="jss58"><a class="jss60" href="/web/20240227040306/https://www.jisc.ac.uk/about-us/modern-slavery-statement">Modern slavery</a></li><li class="jss58"><a class="jss60" href="/web/20240227040306/https://www.jisc.ac.uk/about-us/carbon-reduction-plan">Carbon reduction plan</a></li><li class="jss58"><a class="jss60" href="/web/20240227040306/https://www.jisc.ac.uk/accessibility-statement">Accessibility</a></li></ul></div></div></div></div></footer></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"path":["guides","using-the-janet-network-performance-test-facilities"],"pageData":{"id":1971,"meta":{"type":"base.GuidePage","detail_url":"http://web.archive.org/web/20240227040306/http://backend:8000/api/v2/pages/1971/","html_url":"http://web.archive.org/web/20240227040306/https://www.jisc.ac.uk/guides/using-the-janet-network-performance-test-facilities/","slug":"using-the-janet-network-performance-test-facilities","show_in_menus":false,"seo_title":"Using the Janet Network performance test facilities","search_description":"How members can use Jisc's network performance test servers to diagnose and troubleshoot their network issues.","first_published_at":"2023-05-23T14:51:00Z","alias_of":null,"parent":{"id":241,"meta":{"type":"base.GuideListingPage","detail_url":"http://web.archive.org/web/20240227040306/http://backend:8000/api/v2/pages/241/","html_url":"http://web.archive.org/web/20240227040306/https://www.jisc.ac.uk/guides/"},"title":"Guides"}},"title":"Using the Janet Network performance test facilities","categories":[{"id":1,"name":"Connectivity"}],"authors":[{"id":55,"meta":{"type":"base.GuideAuthorsOrderable"},"first_name":"Tim","last_name":"Chown","job_title":"Network development manager","bio_link":null,"summary":"\u003cp data-block-key=\"8b019\"\u003eI am responsible for developing and promoting new network-oriented services. Currently, my main focus lies with being a work package leader on the GÉANT GN4-3 project, which provides connectivity between European national research and education networks (NRENs) such as Janet, and evaluates new technologies and develops new services to run over that network, everything from perfSONAR network monitoring to quantum key distribution (QKD).\u003c/p\u003e\u003cp data-block-key=\"3aqdc\"\u003eMy main work within Jisc is helping members make optimal use of their Janet connectivity for network-intensive applications, as part of Jisc\u0026#x27;s end-to-end performance initiative.\u003c/p\u003e","image":{"url":"http://web.archive.org/web/20240227040306/https://jisc-ac-uk-static-assets-prod.s3.eu-west-1.amazonaws.com/media/original_images/tim-chown-300x300.jpg","title":"tim-chown-300x300","id":1158},"image_alt_text":"Tim Chown"},{"id":56,"meta":{"type":"base.GuideAuthorsOrderable"},"first_name":"Duncan","last_name":"Rand","job_title":"End-to-end performance adviser, Jisc","bio_link":null,"summary":"","image":{"url":"http://web.archive.org/web/20240227040306/https://jisc-ac-uk-static-assets-prod.s3.eu-west-1.amazonaws.com/media/original_images/web-author-avatar-green-400x400.jpg","title":"web-author-avatar-green","id":57},"image_alt_text":null},{"id":57,"meta":{"type":"base.GuideAuthorsOrderable"},"first_name":"Raul","last_name":"Lopes","job_title":"Janet end-to-end performance technical specialist","bio_link":null,"summary":"","image":{"url":"http://web.archive.org/web/20240227040306/https://jisc-ac-uk-static-assets-prod.s3.eu-west-1.amazonaws.com/media/original_images/web-author-avatar-jade-400x400.jpg","title":"web-author-avatar-jade","id":58},"image_alt_text":"\"\""}],"breadcrumbs":[{"id":1,"name":"Root","url":null},{"id":3,"name":"Jisc","url":"/"},{"id":241,"name":"Guides","url":"/guides/"},{"id":1971,"name":"Using the Janet Network performance test facilities","url":"/guides/using-the-janet-network-performance-test-facilities/"}],"copyright_banner":true,"last_published_at":"2023-12-21T09:47:09.239829Z","open_graph_image":null,"open_graph_image_alt":"","override_last_published_at":"2023-05-23T14:51:00Z","page_body":[{"type":"content_block","value":"\u003cp data-block-key=\"mbduk\"\u003e\u003c/p\u003e\u003ch2 id=\"overview-17jk7\" data-block-key=\"17jk7\"\u003eOverview\u003c/h2\u003e\u003cp data-block-key=\"re3c\"\u003eOur test systems are hosted at two points of presence (PoPs) on the Janet backbone: those at our Slough data centre (DC) run at 10Gbit/s, while our newer facility at London is connected at up to 100Gbit/s. \u003c/p\u003e\u003cp data-block-key=\"d5f8b\"\u003eAll our servers support both IPv4 and IPv6, and all support 9000 MTU. \u003c/p\u003e\u003cp data-block-key=\"45o21\"\u003eAll Jisc network test facility servers and services run under the domain perf.ja.net. \u003c/p\u003e","id":"4c0a4146-7ebb-46e0-8140-7345c222b801"},{"type":"boxed_content","value":{"background_option":"dark","custom_background_colour":"","content":"\u003cp data-block-key=\"jrm2j\"\u003e\u003cstrong\u003eTop tip:\u003c/strong\u003e To obtain the best performance results, it is important to tune the system you are using to run your tests. There is useful \u003ca href=\"https://fasterdata.es.net/\"\u003eFasterdata guidance\u003c/a\u003e, in particular under the host tuning section, and for good end-to-end performance you should also take note of the network and Science DMZ sections. \u003c/p\u003e"},"id":"90d4ca6f-6c2f-4bf2-8ab3-687b81ab5fb9"},{"type":"content_block","value":"\u003cp data-block-key=\"5bo7e\"\u003e\u003c/p\u003e\u003ch2 id=\"iperf-5tduk\" data-block-key=\"5tduk\"\u003eiperf\u003c/h2\u003e\u003cp data-block-key=\"3vc0n\"\u003eThe commonly used iperf tool is generally used to test available throughput from a client to a server, or from the server back to the client. The test defaults to using TCP. \u003c/p\u003e\u003cp data-block-key=\"5h8im\"\u003eThere are two versions of iperf, developed and maintained separately, and we support both. \u003c/p\u003e\u003cp data-block-key=\"cjq3o\"\u003e\u003cstrong\u003eiperf2\u003c/strong\u003e\u003c/p\u003e\u003cp data-block-key=\"7a0cq\"\u003eThis runs on its default port 5001. The client ships with many OSes, but the most recent version is available from \u003ca href=\"https://sourceforge.net/projects/iperf2/files/\"\u003esourceforge.net\u003c/a\u003e.\u003c/p\u003e\u003cp data-block-key=\"9iorq\"\u003e\u003cstrong\u003eiperf3\u003c/strong\u003e\u003c/p\u003e\u003cp data-block-key=\"8pu24\"\u003eThis also runs on its default port 5201. You can download the client for a wide variety of OSes including mobile platforms. \u003ca href=\"https://iperf.fr/iperf-download.php\"\u003eDownload at iperf.fr\u003c/a\u003e.\u003c/p\u003e\u003cp data-block-key=\"c4i96\"\u003eTo test against the Slough server you can test with either iperf2 or iperf3 to the server name iperf-slough-10g.perf.ja.net.\u003c/p\u003e\u003cp data-block-key=\"6sb0s\"\u003e\u003c/p\u003e","id":"23e3f699-dee9-4464-b678-5761f38ee86c"},{"type":"boxed_content","value":{"background_option":"light","custom_background_colour":"","content":"\u003ch3 data-block-key=\"ttp2m\"\u003eExample iperf2 test\u003c/h3\u003e\u003cp data-block-key=\"3s88m\"\u003eThe following shows iperf2 being run from another Jisc server to the iperf endpoint:\u003c/p\u003e\u003cp data-block-key=\"catdl\"\u003e$ iperf –c iperf-slough-10g.perf.ja.net\u003cbr/\u003e------------------------------------------------------------\u003cbr/\u003eClient connecting to iperf-slough-10g.perf.ja.net, TCP port 5001\u003cbr/\u003eTCP window size: 11.1 MByte (default)\u003cbr/\u003e------------------------------------------------------------\u003cbr/\u003e[ 3] local 194.81.18.227 port 47990 connected with 194.81.18.231 port 5001\u003cbr/\u003e[ ID] Interval Transfer Bandwidth\u003cbr/\u003e[ 3] 0.0-10.0 sec 11.5 GBytes 9.90 Gbits/sec\u003c/p\u003e\u003cp data-block-key=\"27anb\"\u003eTo test in the reverse path from the server to the client you can use the --reverse option; this is useful if you wish to test throughput into your site. \u003c/p\u003e"},"id":"15691e2a-598e-4e4c-ab49-985c205860d1"},{"type":"content_block","value":"\u003cp data-block-key=\"44ogf\"\u003e\u003c/p\u003e\u003cp data-block-key=\"bgfh1\"\u003eWhether a single stream test can fill a link depends on the operating system, the link capacity, the server hardware and the server (TCP) tuning. For most Linux cases, it should be possible to drive 10Gbit/s with a single iperf stream. If not, it is also possible to run multi-stream tests which should achieve greater performance, particularly if there is some packet loss on the path. \u003c/p\u003e\u003cp data-block-key=\"c11nt\"\u003e\u003c/p\u003e","id":"238f88e0-e4b0-446f-a7a5-c503f0692eac"},{"type":"boxed_content","value":{"background_option":"dark","custom_background_colour":"","content":"\u003cp data-block-key=\"jrm2j\"\u003e\u003cstrong\u003eTop tip:\u003c/strong\u003e We recommend using perfSONAR if you wish to measure throughput periodically over the long-term or run non-contending throughput tests. \u003c/p\u003e"},"id":"d6d093e9-f4e6-4634-92c5-357e5ba47aa2"},{"type":"content_block","value":"\u003cp data-block-key=\"dl7s4\"\u003eWe support iperf testing at rates over 10Gbit/s and up to 100Gbit/s at our London PoP, but this is currently only available on request to \u003ca href=\"mailto:netperf@jisc.ac.uk\"\u003enetperf@jisc.ac.uk\u003c/a\u003e. In this case, using multi-stream tests will likely be required to fill the higher capacity path. \u003c/p\u003e\u003ch2 id=\"ethr-1tugv\" data-block-key=\"1tugv\"\u003eEthr\u003c/h2\u003e\u003cp data-block-key=\"cnbag\"\u003e\u003ca href=\"https://github.com/microsoft/ethr\"\u003eEthr\u003c/a\u003e is an alternative network performance test tool, written in Go. We provide an endpoint at our Slough PoP running at ethr-slough-10g.perf.ja.net. \u003c/p\u003e\u003cp data-block-key=\"fdgn8\"\u003eDistributions of ethr are available on GitHub, where the README provides instructions for Windows, Linux and macOS. \u003ca href=\"https://snapcraft.io/install/ethr-johanburati/centos\"\u003eFind out specific CentOS instalaltion information\u003c/a\u003e.\u003c/p\u003e\u003cp data-block-key=\"et0u\"\u003e\u003c/p\u003e","id":"923c8f5f-659c-439e-b5d7-6957e7ffd2a6"},{"type":"boxed_content","value":{"background_option":"light","custom_background_colour":"","content":"\u003ch3 data-block-key=\"75c8x\"\u003eExample Ethr test\u003c/h3\u003e\u003cp data-block-key=\"33h13\"\u003eThe syntax to run the test is similar to iperf, and full options can be seen with ethr –h\u003c/p\u003e\u003cp data-block-key=\"f181l\"\u003e$ ethr -c ethr-slough-10g.perf.ja.net\u003cbr/\u003eConnecting to host [2001:630:3c:f803::12], port 9999\u003cbr/\u003e[ 6] local 2001:630:3c:f803::6 port 55644 connected to 2001:630:3c:f803::12 port 9999\u003c/p\u003e\u003cp data-block-key=\"co9go\"\u003e- - - - - - - - - - - - - - - - - - - - - - -\u003cbr/\u003e[ ID] Protocol Interval Bits/s\u003cbr/\u003e[ 6] TCP 000-001 sec 9.55G\u003cbr/\u003e[ 6] TCP 001-002 sec 9.89G\u003cbr/\u003e[ 6] TCP 002-003 sec 9.67G\u003cbr/\u003e[ 6] TCP 003-004 sec 9.31G\u003cbr/\u003e[ 6] TCP 004-005 sec 9.88G\u003cbr/\u003e[ 6] TCP 005-006 sec 9.84G\u003cbr/\u003e[ 6] TCP 006-007 sec 9.78G\u003cbr/\u003e[ 6] TCP 007-008 sec 9.87G\u003cbr/\u003e[ 6] TCP 008-009 sec 9.88G\u003cbr/\u003e[ 6] TCP 009-010 sec 9.72G\u003c/p\u003e\u003cp data-block-key=\"d8h1v\"\u003e\u003c/p\u003e\u003cp data-block-key=\"av5vv\"\u003eEthr done, duration: 10s.\u003c/p\u003e\u003cp data-block-key=\"8eps2\"\u003eThe ethr output looks more like that of iperf3, with per-second reporting by default. \u003c/p\u003e\u003cp data-block-key=\"el1k9\"\u003eNote that as per iperf, our ethr server at Slough may be in use by other users when you test, so you may not see the maximum available capacity at any given time. \u003c/p\u003e"},"id":"209e8084-2edc-44ab-90bb-5bc10c7d1088"},{"type":"content_block","value":"\u003cp data-block-key=\"ajdfm\"\u003e\u003c/p\u003e\u003cp data-block-key=\"162k8\"\u003e\u003c/p\u003e\u003ch2 id=\"perfsonar-86v56\" data-block-key=\"86v56\"\u003eperfSONAR\u003c/h2\u003e\u003cp data-block-key=\"1b2ag\"\u003eAn iperf or Ethr test only tests performance at a specific moment in time, just as a ping or traceroute test only shows you the current round-trip time, loss or path. \u003c/p\u003e\u003cp data-block-key=\"2d3ll\"\u003eIn contrast, perfSONAR provides a means to measure a range of network characteristics over time, to record them, and to use that history of measurements to better diagnose or troubleshoot performance issues. By default, perfSONAR runs latency, loss and path tests continuously and throughput tests every 6 hours. \u003c/p\u003e\u003cp data-block-key=\"6u71j\"\u003e\u003c/p\u003e","id":"22dc70cb-3c3f-4ec9-a832-3a90be16897b"},{"type":"boxed_content","value":{"background_option":"dark","custom_background_colour":"","content":"\u003cp data-block-key=\"j7qbx\"\u003e\u003cstrong\u003eTop tip:\u003c/strong\u003e We recommend sites run at least one perfSONAR server. The software documentation discusses positioning, but this would typically be at your network edge, or alongside the main filestore you run data transfers to/from. \u003c/p\u003e"},"id":"0e312c31-8bc2-4005-ada7-d9f13b9d1d2b"},{"type":"content_block","value":"\u003cp data-block-key=\"73flp\"\u003e\u003c/p\u003e\u003cp data-block-key=\"85o04\"\u003eThe \u003ca href=\"https://www.perfsonar.net/\"\u003eperfSONAR software\u003c/a\u003e is open source and runs on a variety of Linux platforms. A new major version, 5.0, was released in April 2023. \u003ca href=\"https://docs.perfsonar.net/\"\u003eRead documentation about perfSONAR\u003c/a\u003e.\u003c/p\u003e\u003cp data-block-key=\"cavov\"\u003eThe software is usually run on a dedicated physical server, but you can use a VM or container.\u003c/p\u003e\u003cp data-block-key=\"dqmtd\"\u003eView guidance on:\u003c/p\u003e\u003cul\u003e\u003cli data-block-key=\"r39c\"\u003e\u003ca href=\"https://hub.docker.com/r/perfsonar/testpoint/\"\u003eDocker information\u003c/a\u003e\u003c/li\u003e\u003cli data-block-key=\"9keim\"\u003e\u003ca href=\"https://docs.perfsonar.net/install_hardware.html\"\u003eperfSONAR hardware guidance\u003c/a\u003e\u003c/li\u003e\u003c/ul\u003e\u003cp data-block-key=\"b3to6\"\u003eTo minimise interference between tests you should use two separate network interfaces for the server, one for throughput tests, one for latency/loss tests. \u003c/p\u003e\u003cp data-block-key=\"c0299\"\u003eThere are multiple perfSONAR components that can be installed. The simplest is to install the tools and testpoint packages, such that your server can run tests and report them to another server that archives the results into OpenSearch. The ‘core’ package will additionally allow local archiving, while the full toolkit install will give all functionality. \u003ca href=\"https://docs.perfsonar.net/install_options.html\"\u003eRead guidance on perfSONAR installation options\u003c/a\u003e. \u003c/p\u003e\u003cp data-block-key=\"269ds\"\u003eperfSONAR servers running the toolkit will need a certificate. We recommend you use a certificate that is signed by an authority trusted by browsers, such as certificates issued by the Jisc certificate service or Let’s Encrypt, rather than self-signed. \u003c/p\u003e\u003cp data-block-key=\"5aurf\"\u003eOnce installed, you can configure persistent throughput and latency/loss tests to our Jisc perfSONAR servers. You should run throughput tests to the throughput interface, and latency tests to the latency interface. \u003c/p\u003e\u003cp data-block-key=\"af7up\"\u003eSlough DC, running at up to 10Gbit/s: \u003c/p\u003e\u003cul\u003e\u003cli data-block-key=\"5urnb\"\u003eThroughput interface - ps-slough-bw.perf.ja.net\u003c/li\u003e\u003cli data-block-key=\"38qn3\"\u003eLatency interface - ps-slough-lat.perf.ja.net\u003c/li\u003e\u003c/ul\u003e\u003cp data-block-key=\"b0lpr\"\u003eLondon PoP, running at up to 100Gbit/s: \u003c/p\u003e\u003cul\u003e\u003cli data-block-key=\"64rsh\"\u003eThroughput interface - ps-london-bw.perf.ja.net\u003c/li\u003e\u003cli data-block-key=\"3nc73\"\u003eLatency interface - ps-london-lat.perf.ja.net\u003c/li\u003e\u003c/ul\u003e\u003cp data-block-key=\"7mt8m\"\u003eperfSONAR uses a tool called pscheduler to ensure that throughput tests do not overlap or contend with other tests, so you should have the full capacity of the link available for your measurements. \u003c/p\u003e\u003cp data-block-key=\"99o75\"\u003eYou can also run third-party tests with pscheduler, between two remote perfSONAR servers, if they are configured (via the limits file) to be open, for example: \u003c/p\u003e\u003cp data-block-key=\"98dp0\"\u003e$ pscheduler task throughput --source HOST1 --dest HOST2 \u003c/p\u003e\u003cp data-block-key=\"e14nh\"\u003eWhile tests can be configured to run persistently to/from any given perfSONAR server, it is also possible to create a ‘mesh’ of servers for a community where each tests against the other. One example is the UK World Large Hadron Collider Computing Grid (WLCG) community, GridPP, which has a number of \u003ca href=\"https://psmad.opensciencegrid.org/maddash-webui/index.cgi?dashboard=UK%20Mesh%20Config\"\u003emeshes for IPv4 and IPv6 testing\u003c/a\u003e. Another is the \u003ca href=\"https://psmad.opensciencegrid.org/maddash-webui/index.cgi?dashboard=WLCG%20100G%20Mesh\"\u003eWLCG 100G server mesh\u003c/a\u003e. Jisc can assist with mesh configurations if required. Other servers can be found via the perfSONAR lookup service. \u003c/p\u003e\u003ch2 id=\"data-transfer-node-(dtn)-tests-1f2pu\" data-block-key=\"1f2pu\"\u003eData Transfer Node (DTN) tests\u003c/h2\u003e\u003cp data-block-key=\"3uukk\"\u003eJisc hosts data transfer nodes (DTNs) for application-oriented testing. We can install and support any specific data transfer tools on request. \u003c/p\u003e\u003cp data-block-key=\"e02s3\"\u003eCurrently our Slough DC has a Globus endpoint, running at dtn-slough-10g.perf.ja.net, which is connected at 10Gbit/s.\u003c/p\u003e\u003cp data-block-key=\"5ek8b\"\u003eThe basic Globus transfer tools can be run without a Globus licence/subscription. \u003c/p\u003e\u003cp data-block-key=\"a7r1i\"\u003eA variety of files is available for testing Globus with globus-url-copy: 1M.dat, 2M.dat, 10M.dat, 50M.dat, 1G.dat, 10G.dat, 20G.dat, 100G.dat, 1000G.dat \u003c/p\u003e\u003cp data-block-key=\"b9j24\"\u003eYou can copy to /dev/null or to the file system, for example, copying a 10GB file to /dev/null: \u003c/p\u003e\u003cp data-block-key=\"2ln8m\"\u003e$ globus-url-copy -vb ftp://dtn-slough-10g.perf.ja.net:2811/space00/10G.dat /dev/null \u003c/p\u003e\u003cp data-block-key=\"72p5d\"\u003eThere is also a directory with 100 x 1GB files for more sustained testing: \u003c/p\u003e\u003cp data-block-key=\"a1ei1\"\u003e$ globus-url-copy -r -vb ftp://dtn-slough-10g.perf.ja.net:2811/space00/small/ file:///web.archive.org/web/20240227040306/https://tmp/ \u003c/p\u003e\u003cp data-block-key=\"96n6g\"\u003eWe also have a 100G DTN at our London PoP. Please email \u003ca href=\"mailto:netperf@jisc.ac.uk\"\u003enetperf@jisc.ac.uk\u003c/a\u003e if you wish to test against this. \u003c/p\u003e\u003ch2 id=\"ripe-atlas-anchor-eslo\" data-block-key=\"eslo\"\u003eRIPE Atlas anchor\u003c/h2\u003e\u003cp data-block-key=\"aj9f\"\u003eThe \u003ca href=\"https://atlas.ripe.net/\"\u003eRIPE Atlas project\u003c/a\u003e has grown to over 10,000 measurement devices worldwide, and now supports both physical (small form factor USB/Ethernet) and virtual clients. These can be used to run lightweight tests such as latency, loss, HTTP and DNS between clients and anchors. \u003c/p\u003e\u003cp data-block-key=\"839sj\"\u003eJisc runs a (physical) anchor at our Slough DC which has a web interface available at \u003ca href=\"https://atlas.ripe.net/probes/6695/\"\u003eRIPE Atlas\u003c/a\u003e. At the time of writing there are some 6,000 tests being run against the anchor. \u003c/p\u003e\u003ch2 id=\"tools-in-development-b77uc\" data-block-key=\"b77uc\"\u003eTools in development\u003c/h2\u003e\u003cp data-block-key=\"1gbpg\"\u003eWe are currently looking to deploy an HTTP-based ‘speedtest’ service, most likely using the \u003ca href=\"https://librespeed.org/\"\u003eopen source librespeed package\u003c/a\u003e. There are other implementations available which we are also testing. \u003c/p\u003e\u003cp data-block-key=\"bio9q\"\u003eSuch speedtests aren’t necessarily as accurate as the ones described above, but these are the types of tests that will most likely be run by users served by the Janet network, and in their home networks, because they are trivially easy to run from a browser without installing any local software. By providing a familiar tool we can also include pointers at the test pages towards the more advanced tools, and information describing the limitations of ‘speedtest’ servers. \u003c/p\u003e\u003cp data-block-key=\"d2ahh\"\u003eWe are also following the latest developments in the IP Performance Measurement working group at the Internet Engineering Task Force (IETF) on a new ‘responsiveness’ test. The idea of the test is to measure how many responses per second a server can reply with, which is an indication of the potential buffering delays or ‘buffer bloat’ in a network path. \u003c/p\u003e\u003cp data-block-key=\"9q0ud\"\u003e\u003c/p\u003e","id":"b4451a43-b185-4c71-b468-bef4a651fbb8"},{"type":"boxed_content","value":{"background_option":"light","custom_background_colour":"","content":"\u003ch3 data-block-key=\"u3hmp\"\u003eExample new ‘responsiveness’ test\u003c/h3\u003e\u003cp data-block-key=\"5ps5g\"\u003eOur iperf2 server supports the first implementation of this (as of iperf 2.1.9), which you can test with the –bounceback option, for example: \u003c/p\u003e\u003cp data-block-key=\"5ohe\"\u003e$iperf -c iperf-slough-10g.perf.ja.net -i 1 --bounceback\u003c/p\u003e\u003cp data-block-key=\"7et50\"\u003eThe test reports RPS (responses per second), the higher the better. \u003c/p\u003e"},"id":"ddc2175d-b1fa-405c-8ac6-ee208aa10d47"},{"type":"content_block","value":"\u003cp data-block-key=\"cvrsn\"\u003e\u003c/p\u003e\u003ch2 id=\"further-information-9k6uv\" data-block-key=\"9k6uv\"\u003eFurther information\u003c/h2\u003e\u003cp data-block-key=\"e3gfn\"\u003eYou may also find the following links useful: \u003c/p\u003e\u003cul\u003e\u003cli data-block-key=\"7uhc\"\u003e\u003ca href=\"https://www.jisc.ac.uk/guides/supporting-large-scale-data-transfers-on-janet\"\u003eJisc advice and guidance for large scale data transfers over Janet\u003c/a\u003e\u003c/li\u003e\u003cli data-block-key=\"31l8j\"\u003e\u003ca href=\"https://www.jisc.ac.uk/get-involved/research-network-engineering-community-group\"\u003eJisc Research Network Engineering community\u003c/a\u003e\u003c/li\u003e\u003cli data-block-key=\"85upn\"\u003e\u003ca href=\"https://fasterdata.es.net/\"\u003eEnd-to-end performance tuning guidance\u003c/a\u003e\u003c/li\u003e\u003c/ul\u003e\u003ch2 id=\"contact-us-6la5q\" data-block-key=\"6la5q\"\u003eContact us\u003c/h2\u003e\u003cp data-block-key=\"2gr6j\"\u003eFor any queries about the Jisc test facility systems (on their use or their configuration) please contact our network performance team at \u003ca href=\"mailto:netperf@jisc.ac.uk\"\u003enetperf@jisc.ac.uk\u003c/a\u003e or you can email \u003ca href=\"mailto:elp@jisc.ac.uk\"\u003ehelp@jisc.ac.uk\u003c/a\u003e to raise a ticket with our service desk. \u003c/p\u003e\u003cp data-block-key=\"dnd4g\"\u003eIf there are any other network test servers or services you would like us to host then please get in touch with us.\u003c/p\u003e","id":"878113bd-0910-488d-bd88-6d3d13e4cdd7"}],"redirect_url":"","secondary_page_type":"quick_guide","summary":"How members can use Jisc's network performance test servers to diagnose and troubleshoot their network issues.","table_of_contents":"none","topics":[{"id":16,"name":"Infrastructure and systems"}]}},"__N_SSP":true},"page":"/[...path]","query":{"path":["guides","using-the-janet-network-performance-test-facilities"]},"buildId":"62phW-AXuCLFFYt9M070l","isFallback":false,"isExperimentalCompile":false,"gssp":true,"scriptLoader":[]}</script></body></html><!-- FILE ARCHIVED ON 04:03:06 Feb 27, 2024 AND RETRIEVED FROM THE INTERNET ARCHIVE ON 17:52:20 Nov 25, 2024. JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. SECTION 108(a)(3)). --> <!-- playback timings (ms): captures_list: 0.813 exclusion.robots: 0.061 exclusion.robots.policy: 0.043 esindex: 0.013 cdx.remote: 70.136 LoadShardBlock: 204.339 (3) PetaboxLoader3.datanode: 143.863 (4) load_resource: 113.381 PetaboxLoader3.resolve: 56.536 -->