Sto cercando di migliorare il throughput di uno dei miei server all'estero e dopo aver monitorato un trasferimento tra il server e il mio computer di casa con WireShark sono abbastanza sicuro di avere un problema con le dimensioni della finestra.
Per un trasferimento ftp ottengo una dimensione della finestra di ricezione di 14720.
Window size value: 115
Calculated window size: 14720
Window size scaling factor: 128
La mia finestra di invio assomiglia a ciò che ho impostato su:
Window size value: 65335
Calculated window size: 261340
Window size scaling factor: 4
Quindi, come posso risolvere la finestra? Ho esaminato le impostazioni di tcp di Linux sul mio server e tutto sembra normale. I timestamp sono attivi, i syncookie sono disattivati, il ridimensionamento è attivo, i sacchi sono attivi, cubico è il metodo di controllo della congestione, la dimensione massima della finestra di ricezione e invio è 3mb. Ho provato a cambiare i valori predefiniti di tcp_wmem e tcp_rmem ma non fa nulla.
MODIFICARE:
Quando disattivo l'autotuning e / o il ridimensionamento delle finestre sul server, la finestra si riduce a 14600, che è sostanzialmente 10 volte l'MSS.
5337 4.268584 2.2.2.2 1.1.1.1 FTP 106 Response: 227 Entering Passive Mode (2,2,2,2,240,15).
5338 4.268640 1.1.1.1 2.2.2.2 TCP 74 59855 > 61455 [SYN] Seq=0 Win=14600 Len=0 MSS=1460 SACK_PERM=1 TSval=431721460 TSecr=0 WS=128
5364 4.300368 1.1.1.1 2.2.2.2 TCP 54 57609 > ftp [ACK] Seq=217 Ack=648 Win=15744 Len=0
5480 4.346856 2.2.2.2 1.1.1.1 TCP 66 61455 > 59855 [SYN, ACK] Seq=0 Ack=1 Win=5840 Len=0 MSS=1460 SACK_PERM=1 WS=128
5481 4.346867 1.1.1.1 2.2.2.2 TCP 54 59855 > 61455 [ACK] Seq=1 Ack=1 Win=14720 Len=0
5482 4.346893 1.1.1.1 2.2.2.2 FTP 70 Request: STOR 100mb.bin
5570 4.428061 2.2.2.2 1.1.1.1 FTP 109 Response: 150 Opening BINARY mode data connection for 100mb.bin
5571 4.428078 1.1.1.1 2.2.2.2 TCP 54 57609 > ftp [ACK] Seq=233 Ack=703 Win=15744 Len=0
5572 4.428155 1.1.1.1 2.2.2.2 FTP-DATA 2974 FTP Data: 2920 bytes
5573 4.428166 1.1.1.1 2.2.2.2 FTP-DATA 1514 FTP Data: 1460 bytes
5662 4.505384 2.2.2.2 1.1.1.1 TCP 60 61455 > 59855 [ACK] Seq=1 Ack=1461 Win=8832 Len=0
5663 4.505392 1.1.1.1 2.2.2.2 FTP-DATA 2974 FTP Data: 2920 bytes
5664 4.505421 2.2.2.2 1.1.1.1 TCP 60 61455 > 59855 [ACK] Seq=1 Ack=2921 Win=11776 Len=0
5665 4.505429 1.1.1.1 2.2.2.2 FTP-DATA 2974 FTP Data: 2920 bytes
5666 4.505535 2.2.2.2 1.1.1.1 TCP 60 61455 > 59855 [ACK] Seq=1 Ack=4381 Win=14720 Len=0
5667 4.505543 1.1.1.1 2.2.2.2 FTP-DATA 2974 FTP Data: 2920 bytes
5734 4.583769 2.2.2.2 1.1.1.1 TCP 60 61455 > 59855 [ACK] Seq=1 Ack=5841 Win=17536 Len=0
5735 4.583778 1.1.1.1 2.2.2.2 FTP-DATA 2974 FTP Data: 2920 bytes
5736 4.583781 2.2.2.2 1.1.1.1 TCP 60 61455 > 59855 [ACK] Seq=1 Ack=7301 Win=20480 Len=0
5737 4.583787 1.1.1.1 2.2.2.2 FTP-DATA 2974 FTP Data: 2920 bytes