Tinc/SHH/IPSec: настройка для высокой пропускной способности
У меня есть выделенный оперативный сервер 128 ГБ под управлением memcached. К этому подключаются 4 веб-сервера. Они отправляют около 20 тыс. Пакетов в секунду.
Недавно я решил сменить соединение с веб-серверов на сервер memcached с постоянных туннелей SSH на использование Tinc (для простоты настройки и гибкости всякий раз, когда они мне нужны для связи через новый порт).
Это изменение привело к значительному увеличению накладных расходов на передачу данных в обе стороны (см. Графики). Однако я заметил, что нагрузка на сеть при использовании Tinc в пользу SSH-туннелей намного меньше (даже быстрее, чем в предыдущих SSH-туннелях!), Когда я использую его для связи между серверами (например, моим сервером баз данных Postgresql), где пропускная способность намного ниже < 10 тыс. пакетов в секунду. Я попытался распределить загрузку memcached между несколькими серверами, и внезапно издержки от tinc / network значительно снизились.
Теперь я не понимаю, ПОЧЕМУ издержки сети tinc увеличиваются так резко, как увеличивается пропускная способность? Как будто я наткнулся на какую-то бутылочную горловину (и это демонстративно не CPU, так как Newrelic сообщает, что использование