Я работаю над приложением C #, которое подключается к базе данных MySql, находящейся на компьютере в нашей локальной сети. Однако позже наш веб-сайт будет иногда подключаться к этой базе данных, поэтому у меня есть переадресация портов для интернет-трафика в эту базу данных. Но по какой-то причине подключение с использованием локального IP-адреса 192.168.1.1 происходит медленнее, чем с использованием Интернет-адреса IP 70.28. --- .---. Это не очень большая проблема, но я просто растерялся, потому что думал, что все будет наоборот.
1 ответ
Это звучит как проблема с маршрутизацией / сетью, но в этом вопросе недостаточно подробностей, чтобы сделать это определенным ответом.
Возможности:
- IP-адрес 192.168.xx используется несколькими хостами.
- Маршруты для двух сетей (192.168.xx и 70.28.xx) достаточно различны, чтобы влиять на производительность (например, одна имеет по крайней мере одну ветвь через насыщенный интерфейс или одну ветвь, которая колеблется)
- NAT или другое преобразование для разных IP-адресов влияет на пропускную способность.
Для этого будет полезна диаграмма маршрутизаторов и сетей, а также таблицы маршрутизации для задействованных хостов, которые проясняют, как идут пакеты. (не стесняйтесь анонимизировать сетевые идентификаторы, например, используйте ABCD и EFGH в качестве IP-адресов)
Кроме того, посмотрите, не получите ли вы схожую разницу в производительности, используя ping или другие распространенные сетевые инструменты с меньшими издержками, чем база данных (например, HTTP-сервер, ssh и т.д. Для получения представления о производительности TCP). Если нет, я бы заглянул в базу данных для решения проблемы.