AndyUK62 Ответов: 2

Vb.net проблемы с FTP отправкой нескольких файлов и приостановкой работы


Привет

У меня есть проблема, с которой я хотел бы получить некоторую помощь, пожалуйста.

Я пишу приложение, которое отправляет базу данных, хранящуюся на ПК, на сервер. Приложение написано на английском языке VB.net и сервер использует Filezilla. Существует около 380 файлов для передачи, в основном все небольшие текстовые файлы размером 1-5 КБ. Думаю, это займет несколько секунд.

Все работает нормально, за исключением того, что при выполнении передачи примерно 50 файлов передаются в пакетном режиме, а затем FTP просто переходит в спящий режим на 15 секунд... затем он просыпается, отправляет еще 50 файлов и затем переходит в спящий режим еще на 15 секунд... Это продолжается до тех пор, пока все файлы не будут отправлены. Каждый раз, когда он лопается, он отправляет 50 файлов менее чем за секунду, и я могу подтвердить, что они с радостью получены в принимающем каталоге. Время " сна " почти всегда составляет ровно 15 секунд, что заставляет меня думать, что это какая-то проблема с таймаутом или какая-то простая настройка, в которой я ошибаюсь. Весь процесс занимает ок. 2 минуты.

Что я уже пробовал:

Я написал различные методы тестирования, чтобы попытаться выяснить, где находится проблема, и я обнаружил, что даже при самой простой загрузке FTP существует та же проблема. Я написал рекурсивный цикл, не делая ничего, кроме отправки 350 небольших текстовых файлов на мой сервер Filezilla через FTP, и у него была точно такая же проблема. Я пробовал как синхронные, так и асинхронные FTP-передачи, но это не имеет никакого значения.

Может ли кто-нибудь пролить свет на это, пожалуйста? У меня кончаются идеи.

Спасибо
Энди

2 Ответов

Рейтинг:
2

MadMyche

Это может быть сделано по замыслу на сервере; хосты могут и делают ограничения на размещение или дросселирование служб.

ПРЕДЕЛЫ НАЗНАЧЕНИЯ
Одним из основных соображений является максимальное количество соединений, которое позволит Ваш пункт назначения. Многие (почти все?) значительные FTP-сайты либо будут иметь жестко заданное максимальное количество подключений, которое может иметь один пользователь, и/или временно заблокируют вашу учетную запись, если у вас есть более жестко заданного количества подключений. Например, мы обнаружили, что когда FTP подключается к старой Linux-сетке GoDaddy, она захлебывается примерно на 8 соединениях.
Решено: каково оптимальное количество одновременных передач на FTP – клиенте, таком как FileZilla-Up &Running Technologies, Tech How To[^]


Рейтинг:
1

Garth J Lancaster

Я всегда думал (может быть, неправильно, но анекдотически), что FTP - это "сетевой жадный" протокол, и на каком-то этапе вы попадете в максимальный трафик с небольшими файлами.

Интересно, было бы лучше, если бы вы отправляли большие агрегаты файлов - re-zip в пакеты другого размера или вы подумывали о том, чтобы попробовать SSH - я использовал для развертывания производственного программного обеспечения из Сиднея на серверы в британском кластере, SSH на windows был превосходен по своей производительности