Zestawiłem tunel pomiędzy punktami oddalonymi o kilkanaście milisekund, mimo że pomiędzy nimi transfer wynosi kilkadziesiąt Mbps, to w tunelu transfer dochodzi do 4Mbps i nie chce przesyłać więcej.
Okazuje się, że wypełnia się całkowicie bufor podczas wysyłania i zanim kolejna porcja danych zostanie wysłana openvpn oczekuje na potwiedzenie. Aby zwiększyć przepustowość tunelu należy zwiększyć wielkość bufora. Odpowiedzialne za to są następujące parametry:
openvpn –sndbuf 655360 -rcvbuf 655360
(standardowo bufor ma 65536 bajtów, wielkość należy odbrać doświadczalnie, u mnie zwiększenie dziesięciokrotne pomogło).
W debianie argument wywołania można dodać w pliku /etc/default/openvpn dodając na końcu:
OPTARGS=”–sndbuf 655360 –rcvbuf 655360″