Xpoint
   [напомнить пароль]

Net::FTP and HP-UX

Метки: [без меток]
2006-12-05 12:40:57 [обр] lexs[досье]
Господа, заметил такую нехорошую особенность: при загрузке файлов с Windows машины, где запущен Perl, на сервер HP-UX средствами модуля Net::FTP ($ftp->put()), процесс загрузки занимает очень продолжительное время.
Upload происходит в десятки раз медленнее, по сравнению с загрузкой на Solaris и Linux сервера.
Тот же самый Total Commander те же самые файлы на тот же самый HP-UX загружает намного быстрее, тратя на загрузку секунды, а с модулем Net::FTP же на это уходят минуты!
Может быть кто сталкивался, подскажите куда копать.
Может быть это настройки самого сервера?
Если нужна дополнительная информация, Вы спросите - я дополню. Сейчас даже не знаю куда копать.
Заранее спасибо.
Характеристики машин:
1. Windows XP:
   perl, v5.8.8 built for MSWin32-x86-multi-thread
   Binary build 817 [257965] provided by ActiveState http://www.ActiveState.com
   Built Mar 20 2006 17:54:25

2. HP-UX B.11.23 ia64.
спустя 8 минут [обр] Владимир Палант(146/4445)[досье]
Net::FTP->new(..., Passive => 1) не пробовали?
спустя 16 минут [обр] lexs[досье]
Попробовал, не помогает.
Загрузка файла размером 46,2 Mb занимает 5 минут.
Для сравнения, Total Commander справился с задачей за 6 секунд!!!
Кстати, при загрузке использую binary() режим.
спустя 1 час 40 минут [обр] Владимир Палант(146/4445)[досье]
А если поставить Debug => 1 — что выдает? Сравните с выводом Total Commander.
спустя 30 минут [обр] lexs[досье]

Debug => 1 ничего дополнительного на консоль не вывел, установил Debug => 7, чтобы не вспоминать какой уровень наиболее подробный.

Вывод Net::FTP.


[05.12.2006 14:51:59.427] START
[05.12.2006 14:51:59.427] ftpPut()
Net::FTP>>> Net::FTP(2.75)
Net::FTP>>> Exporter(5.58)
Net::FTP>>> Net::Cmd(2.26)
Net::FTP>>> IO::Socket::INET(1.29)
Net::FTP>>> IO::Socket(1.29)
Net::FTP>>> IO::Handle(1.25)
Net::FTP=GLOB(0x24e1068)<<< 220 server.ru FTP server (Revision 1.1 Version wuftpd-2.6.1 Fri Jul 16 19:08:11 GMT 2004) ready.
Net::FTP=GLOB(0x24e1068)>>> user lexs
Net::FTP=GLOB(0x24e1068)<<< 331 Password required for lexs.
Net::FTP=GLOB(0x24e1068)>>> PASS ....
Net::FTP=GLOB(0x24e1068)<<< 230 User lexs logged in.
Net::FTP=GLOB(0x24e1068)>>> TYPE I
Net::FTP=GLOB(0x24e1068)<<< 200 Type set to I.
Net::FTP=GLOB(0x24e1068)>>> CWD tmp
Net::FTP=GLOB(0x24e1068)<<< 250 CWD command successful.
Net::FTP=GLOB(0x24e1068)>>> ALLO 13089816
Net::FTP=GLOB(0x24e1068)<<< 202 ALLO command ignored.
Net::FTP=GLOB(0x24e1068)>>> PASV
Net::FTP=GLOB(0x24e1068)<<< 227 Entering Passive Mode (...)
Net::FTP=GLOB(0x24e1068)>>> STOR ActivePerl-5.8.7.813-MSWin32-x86-148120.zip
Net::FTP=GLOB(0x24e1068)<<< 150 Opening BINARY mode data connection for ActivePerl-5.8.7.813-MSWin32-x86-148120.zip.
Net::FTP=GLOB(0x24e1068)<<< 226 Transfer complete.
Net::FTP=GLOB(0x24e1068)>>> QUIT
Net::FTP=GLOB(0x24e1068)<<< 221-You have transferred 13089816 bytes in 1 files.
Net::FTP=GLOB(0x24e1068)<<< 221-Total traffic for this session was bytes in 1 transfers.
Net::FTP=GLOB(0x24e1068)<<< 221-Thank you for using the FTP service on srv2-rx8620-2.net.billing.ru.
Net::FTP=GLOB(0x24e1068)<<< 221 Goodbye.
[05.12.2006 14:53:29.122] STOP


Скорость загрузки 142 kbytes/s.

Вывод Total Commander.


TYPE I
200 Type set to I.
PORT ...
200 PORT command successful.
STOR ActivePerl-5.8.7.813-MSWin32-x86-148120.zip
150 Opening BINARY mode data connection for ActivePerl-5.8.7.813-MSWin32-x86-148120.zip.
Закачка: 13 089 816 bytes, 10471.9 kbytes/s
226 Transfer complete.
Copied (05.12.2006 14:58:02): D:\ActivePerl-5.8.7.813-MSWin32-x86-148120.zip -> ftp://server.ru


Скорость загрузки 10471.9 kbytes/s.
Разница более чем ощутима.

p.s.
Такое ощущение, что в первом случае файл загружается небольшими пакетами 500-700 кБ с задержкой между пакетами 2-3 секунды...

Powered by POEM™ Engine Copyright © 2002-2005