Это - ужасная производительность для такой установки, но Вы используете своего рода настольный инструмент сравнительного теста alla ПК Mark. Эти инструменты совершенно не могут протестировать этот вид установки, использовать реальный инструмент как IOZone или даже Место размещения ATTO. Если SQL Server достигает 2 ГБ/с, то так должен инструмент сравнительного теста.
Я понимаю, что вы заявили, что хотите, чтобы исходный IP-адрес попадал на ваш сервер Python, но, возможно, вы здесь ошиблись. Стандартная практика - передавать исходный IP-адрес через HTTP в заголовке X-Forwarded-For. Большинство веб-фреймворков выбирают этот заголовок и используют вместо исходного IP-адреса, если он указан.
Если вы хотите пойти по этому пути, все, что вам понадобится, - это интерфейсный веб-сервер. В любом случае, иметь внешний интерфейс - это хорошая идея: он более безопасен, потому что никто не имеет прямого доступа к вашему серверу приложений, и вы можете легко реализовать такие службы, как HTTPS и кэширование, не занимая больше циклов ЦП на сервере приложений. Что-то вроде Nginx прекрасно подойдет.
Если вы используете DNAT
, а не MASQUERADE
, тогда вам следует сохраняйте исходный IP-адрес во входящих пакетах.