TCP Optimal Window Size Calculator

.calc-header { margin-bottom: 30px; padding: 25px; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); border-radius: 12px; box-shadow: 0 4px 6px rgba(0,0,0,0.1); color: white; } .calc-header h2 { margin-top: 0; color: white; font-size: 28px; margin-bottom: 10px; } .calc-header p { margin: 10px 0; opacity: 0.95; font-size: 15px; } .input-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin-top: 20px; } .input-group { display: flex; flex-direction: column; gap: 8px; } .input-group label { font-weight: 600; font-size: 14px; color: rgba(255,255,255,0.95); } .input-group input { padding: 14px; font-size: 16px; border: 2px solid rgba(255,255,255,0.3); border-radius: 6px; font-family: 'Courier New', monospace; background: rgba(255,255,255,0.95); transition: all 0.3s ease; } .input-group input:focus { outline: none; border-color: #4CAF50; background: white; box-shadow: 0 0 0 3px rgba(76, 175, 80, 0.1); } .button-group { margin-top: 15px; } .calc-button { padding: 14px 35px; font-size: 16px; background: #4CAF50; color: white; border: none; border-radius: 6px; cursor: pointer; font-weight: bold; transition: all 0.3s ease; box-shadow: 0 2px 4px rgba(0,0,0,0.2); } .calc-button:hover { background: #45a049; transform: translateY(-1px); box-shadow: 0 4px 8px rgba(0,0,0,0.3); } .calc-button:active { background: #3d8b40; transform: translateY(0); } .result-section { background: white; border: 1px solid #e0e0e0; border-radius: 8px; margin-bottom: 15px; overflow: hidden; box-shadow: 0 2px 4px rgba(0,0,0,0.05); transition: all 0.3s ease; display: none; } .result-section.show { display: block; } .result-section:hover { box-shadow: 0 4px 8px rgba(0,0,0,0.1); } .section-header { background: linear-gradient(135deg, #4CAF50 0%, #45a049 100%); color: white; padding: 15px 20px; cursor: pointer; display: flex; justify-content: space-between; align-items: center; user-select: none; transition: background 0.3s ease; } .section-header:hover { background: linear-gradient(135deg, #45a049 0%, #3d8b40 100%); } .section-header h3 { margin: 0; font-size: 18px; display: flex; align-items: center; gap: 10px; } .section-header .icon { font-size: 20px; } .section-toggle { font-size: 24px; transition: transform 0.3s ease; } .section-header.collapsed .section-toggle { transform: rotate(-90deg); } .section-content { padding: 20px; background: #fafafa; max-height: 2000px; overflow: hidden; transition: max-height 0.3s ease, padding 0.3s ease; } .section-content.collapsed { max-height: 0; padding: 0 20px; } .data-row { display: flex; margin: 12px 0; padding: 10px; background: white; border-radius: 4px; border-left: 3px solid #4CAF50; } .data-label { font-weight: bold; color: #555; min-width: 180px; flex-shrink: 0; } .data-value { color: #333; font-family: 'Courier New', monospace; word-break: break-word; font-size: 18px; } .data-value.highlight { color: #4CAF50; font-weight: bold; font-size: 20px; } .formula-box { background: #e3f2fd; border-left: 4px solid #2196F3; padding: 15px 20px; border-radius: 4px; margin: 15px 0; font-family: 'Courier New', monospace; color: #1565c0; } .info-section { background: white; border: 1px solid #e0e0e0; border-radius: 8px; margin-top: 20px; overflow: hidden; box-shadow: 0 2px 4px rgba(0,0,0,0.05); } .info-section h3 { background: #f5f5f5; margin: 0; padding: 15px 20px; border-bottom: 1px solid #e0e0e0; color: #333; } .info-section h4 { color: #4CAF50; margin: 20px 0 10px 0; font-size: 16px; } .info-section p, .info-section ul { margin: 10px 0; line-height: 1.6; color: #555; } .info-section ul { padding-left: 20px; } .info-section li { margin: 8px 0; } .info-section code { background: #f5f5f5; padding: 2px 6px; border-radius: 3px; font-family: 'Courier New', monospace; color: #d32f2f; } .info-content { padding: 20px; } .help-text { margin-top: 15px; font-size: 14px; color: rgba(255,255,255,0.9); background: rgba(0,0,0,0.1); padding: 10px 15px; border-radius: 4px; } /* Responsive design */ @media (max-width: 768px) { .input-grid { grid-template-columns: 1fr; } .data-row { flex-direction: column; } .data-label { margin-bottom: 5px; min-width: auto; } }

Kalkulačka optimálnej veľkosti okna TCP

Vypočítajte optimálnu veľkosť okna TCP potrebnú na maximalizáciu priepustnosti na základe rýchlosti pripojenia a latencie siete.

Tip:Bežné hodnoty RTT: miestna sieť (0,001 s), regionálna (0,01 s), cez krajinu (0,05 s), medzinárodná (0,1 s)

📊Výsledky výpočtu

Veľkosť okna TCP:
-
Veľkosť okna TCP:
-
Vzorec:Šírka pásma (bps) × RTT (sekundy) ÷ 8 = okno TCP (bajty)

Zmeny konfigurácie systému

Každý operačný systém vyžaduje rôzne zmeny konfigurácie na úpravu prijímacieho okna TCP.

Windows XP

  • OTVORENÉregedit.exe
  • PrehľadávaťHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
  • Môžete zmeniťTcpWindowSizeaGlobalMaxTcpWindowSize

Upozorňujeme, že na tej istej stránke je možné upraviť niekoľko ďalších faktorov výkonu prenosu. Ďalšie podrobnosti nájdete v spoločnosti Microsoft.

Windows 7, 8 a 10

  • OTVORENÉregedit.exe
  • PrehľadávaťHKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
  • Môžete zmeniťGlobalMaxTcpWindowSize

Upozorňujeme, že na tej istej stránke je možné upraviť niekoľko ďalších faktorov výkonu prenosu. Ďalšie podrobnosti nájdete v spoločnosti Microsoft.

Linux

Keďže existuje niekoľko variantov Linuxu, nie všetky možnosti konfigurácie sú popísané nižšie. Nasledujúce príkazy vám však môžu pomôcť. Ak chcete najskôr zobraziť aktuálne nakonfigurované nastavenia siete, použite:

  • cat /proc/sys/net/ipv4/tcp_mem
  • cat /proc/sys/net/core/rmem_default
  • cat /proc/sys/net/core/rmem_max
  • cat /proc/sys/net/core/wmem_default
  • cat /proc/sys/net/core/wmem_max
  • cat /proc/sys/net/core/optmem_max

Ak chcete upraviť konfiguráciu:

  • sysctl -p /etc/sysctl.conf
  • sysctl -w net.core.rmem_max=8388608
    • Konfiguruje maximálnu veľkosť prijímacej vyrovnávacej pamäte OS
  • sysctl -w net.core.wmem_max=8388608
    • Konfiguruje maximálnu veľkosť odosielacej vyrovnávacej pamäte OS
  • sysctl -w net.core.rmem_default=65536
    • Konfiguruje predvolenú veľkosť prijímacej vyrovnávacej pamäte operačného systému
  • sysctl -w net.core.wmem_default=65536
    • Konfiguruje predvolenú veľkosť vyrovnávacej pamäte na odosielanie operačného systému

Upozorňujeme, že tieto hodnoty nie sú nevyhnutne konečnými nastaveniami, ktoré chcete použiť. Ak máte podnikovú podporu Redhat alebo podnikovú podporu Ubuntu, môžu vám pomôcť ďalej.

Poznámka:65 535 bajtov je historicky maximálna hodnota. IETF RFC 1323 však vyhovuje väčším veľkostiam.