После того как Вы начинаете передавать пакеты с сервера на сервер, Вы удваиваете нагрузку на сеть. Почему бы не настраивать Ваш маршрутизатор/брандмауэр для перенаправления пакета на основе целевого порта так, чтобы это перешло к корректному серверу во-первых? Затем маршрутизатор/брандмауэр обработал бы переключающиеся адреса назначения назад и вперед.
Причина "и дальше" необходима, то, потому что, если клиент думает, что она соединяется с server1, пакеты, возвращающиеся, должны прибывать из IP-адреса server1, или клиент проигнорирует их, поэтому когда server3 ответит, "от" адреса должен быть изменен на server1, который брандмауэр должен обработать автоматически, если она использует что-то как ip_conntrack Linux для NAT.
Если Вы настаиваете на том, чтобы передавать назад и вперед между серверами, у меня есть несколько идей, но никакой способ протестировать их прямо сейчас.
Я сделал много оптимизаций MySQL с помощью замечательной утилиты MySQLtuner, и теперь проблема исчезла.