Отладочная сеть
Несколько хитростей для простой сетевой отладки:
- Проверьте время отклика при пинге FTP-сервера с сервера приложений.
- Проверьте время отклика для маршрута трассировки (
tracert
из оболочки DOS).
- Передача файла из командной строки с помощью команды
ftp
.
- Подключение к FTP-серверу через Telnet:
telnet server 21
.
Результаты позволят решить проблему.
Сетевое оборудование
Для медленного маршрута трассировки:
- Определите, почему на двух компьютерах возникают проблемы с сетью.
- Обновите сетевое оборудование между самыми медленными линиями.
Конфигурация сети
Для медленного пинга:
- Проверьте конфигурацию сети на каждом компьютере.
- Убедитесь, что настройки оптимальны.
Проверка API
Медленный сеанс FTP из командной строки скажет вам, что проблема не изолирована от используемого вами API-интерфейса FTP. Это не исключает API как потенциальную проблему, но, безусловно, делает его менее вероятным.
Ошибки сети
Если пакеты отбрасываются между источником и адресатом, ping сообщит вам. Возможно, вам придется увеличить размер пакета до 1500 байт, чтобы увидеть какие-либо ошибки.
Сервер очереди FTP
Если у вас нет контроля над целевым FTP-сервером, пусть промежуточный сервер получает загруженные файлы. Затем посредник отправляет файлы на удаленный сервер с любой возможной скоростью. Это создает иллюзию того, что файлы отправляются быстро. Однако, если файлы должны существовать на удаленном сервере сразу после их загрузки, это решение может оказаться нежизнеспособным.
Программное обеспечение FTP-сервера
Используйте другой демон FTP на FTP-сервере, например ProFTPd в качестве службы Windows . (ProFTPd имеет плагины для различных баз данных, которые позволяют аутентификацию с использованием SQL-запросов.)
Операционная система FTP-сервера
Операционная система на основе Unix может быть лучшим вариантом, чем основанная на Microsoft.
Программное обеспечение FTP-клиента
Существует несколько различных API для отправки и получения файлов по FTP. Может потребоваться некоторая работа, чтобы сделать ваше приложение достаточно модульным, чтобы вы могли просто подключить новую службу передачи файлов. Несколько разных API перечислены здесь как ответы.
Альтернативный протокол
Если FTP не является обязательным требованием, попробуйте:
- сетевой диск Windows
- HTTPS
- scp, rsync или аналогичные программы ( Cygwin может потребоваться)