পিএসএফটিপির চেয়ে ফাইলজিলা এত দ্রুত কেন?


11

আমি ফাইলজিলা 3.10.3 এবং পিএসএফটিপি 0.63 (পটিটিওয়াই) ব্যবহার করছি। আমাকে যে থ্রুপুটটি পাওয়া যায় তা কেন দুই ক্লায়েন্টের মধ্যে এত মারাত্মকভাবে আলাদা তা বুঝতে কেউ আমাকে সাহায্য করতে পারেন? এটি কেবলমাত্র এসএফটিপি প্রোটোকলের একটি ঘাটতি হতে পারে না, কারণ ফাইলজিলা (এবং উইনসিসিপি) এত দ্রুত! আগাম ধন্যবাদ.

কিছু প্রোটোকল ব্যবহার করে একই সার্ভারে সংযোগ করতে ফাইলজিলা ব্যবহার করার সময়, আমি "ভাল" থ্রুপুট পাই; একটি বড় ফাইলের জন্য M 1.2MBPS। এখানে লগ আছে:

Response: fzSftp started, protocol_version=2
Command: open "mecorp@ftp.themcorp.com" 22
Trace: Looking up host "ftp.themcorp.com"
Trace: Connecting to 222.22.111.33 port 22
Trace: We claim version: SSH-2.0-PuTTY_Local:_Mar_29_2015_12:25:15
Trace: Server version: SSH-2.0-9.99 sshlib: 8.1.0.0
Trace: Using SSH protocol version 2
Trace: Doing Diffie-Hellman group exchange
Trace: Doing Diffie-Hellman key exchange with hash SHA-1
Trace: Host key fingerprint is:
Trace: ssh-dss 1024 20:88:a6:92:fe:11:db:b4:9a:b5:9e:8b:5f:50:bb:77
Trace: Initialised AES-256 SDCTR client->server encryption
Trace: Initialised HMAC-SHA1 client->server MAC algorithm
Trace: Initialised AES-256 SDCTR server->client encryption
Trace: Initialised HMAC-SHA1 server->client MAC algorithm
Command: Pass: ********
Trace: Sent password
Trace: Access granted
Trace: Opening session as main channel
Trace: Opened main channel
Trace: Started a shell/command
Status: Connected to ftp.themcorp.com
Trace: CControlSocket::ResetOperation(0)
Status: Starting upload of c:\temp\test.zip
Command: cd "/Home/mecorp"
Response: New directory is: "/Home/mecorp"
Trace: CControlSocket::ResetOperation(0)
Trace: FileTransferSend()
Command: put "c:\temp\test.zip" "test.zip"
Status: local:c:\temp\test.zip => remote:/Home/mecorp/test.zip
Trace: FileTransferParseResponse()
Trace: CControlSocket::ResetOperation(0)
Status: File transfer successful, transferred 27,974,088 bytes in 21 seconds

একই প্রোটোকল ব্যবহার করে একই সার্ভারে সংযোগ করতে এবং একই ফাইলটি স্থানান্তর করার জন্য পিএসএফটিপি ব্যবহার করার সময়, আমি অনেক ধীরে ধীরে থ্রুপুট পাই। আমি প্রায় 150 কেবিপিএস অনুমান করব (উইন্ডোজ 7 টাস্ক ম্যানেজারে আই / ও বাইটগুলি দেখছি)। এখানে লগ আছে:

C:\temp>c:\d2\trunk\Util\psftp.exe -v -l mecorp -pw topsecret -P 22 ftp.themcorp.com
Looking up host "ftp.themcorp.com"
Connecting to 222.22.111.33 port 22
Server version: SSH-2.0-9.99 sshlib: 8.1.0.0
Using SSH protocol version 2
We claim version: SSH-2.0-PuTTY_Release_0.63
Doing Diffie-Hellman group exchange
Doing Diffie-Hellman key exchange with hash SHA-1
Host key fingerprint is:
ssh-dss 1024 20:88:a6:92:fe:11:db:b4:9a:b5:9e:8b:5f:50:bb:77
Initialised AES-256 SDCTR client->server encryption
Initialised HMAC-SHA1 client->server MAC algorithm
Initialised AES-256 SDCTR server->client encryption
Initialised HMAC-SHA1 server->client MAC algorithm
Using username "mecorp".
Sent password
Access granted
Opening session as main channel
Opened main channel
Started a shell/command
Connected to ftp.themcorp.com
Remote working directory is /Home/mecorp
psftp> put test.zip test.zip
local:test.zip => remote:/Home/mecorp/test.zip
psftp>

উত্তর:


23

ফাইলজিলা একটি এসএফটিপি বাস্তবায়নের জন্য একটি পিটিটিওয়াই / পিএসএফটিপ উত্স কোড ব্যবহার করে। আসলে ফাইলজিলা একটি লুকানো পিএসএফটিপি উপ-প্রক্রিয়া চালায়।

তবে এটি পিএসএফটিপি ( FzSFtp.exe) এর নিজস্ব বিল্ড ব্যবহার করে যা কয়েকটি অপ্টিমাইজেশন (এবং অন্যান্য পরিবর্তনগুলি) নিয়োগ করে, সহ:

  • এসএফটিপি স্থানান্তর সারিটি 4 এমবি (পিএসএফটিপিতে 1 এমবি তুলনা করে)
  • অনেক বড় অংশগুলিতে মেমরি বরাদ্দ করে (৫২ কেবি তুলনা করে ৫১৫ বি)
  • বৃহত নেটওয়ার্ক বাফার ব্যবহার করে (SO_RCVBUF এর জন্য 4 এমবি এবং SO_SNDBUF- এর জন্য [SIO_IDEAL_SEND_BACKLOG_QUERY] ব্যবহার করে) গতিশীল আকার) Uses পিএসএফটিপি সিস্টেমটিকে খেলাপি রাখে।

ফাইলজিলা পুটিটিওয়াই (ভিএস) এর চেয়ে আলাদা সংকলক (মিংডাব্লু) ব্যবহার করে, এতে কী অবদান থাকতে পারে।


উইনসিসিপিও পিএসএফটিপি কোডের উপর ভিত্তি করে (যদিও এটি অভ্যন্তরীণভাবে পিএসএফটিপি কোড ব্যবহার করে, বাহ্যিক সাব-প্রসেসে নয়) এবং অনুরূপ অপ্টিমাইজেশনের সেট ব্যবহার করে।


4
মার্টিন খুব তথ্যবহুল, এবং উইনসিসিপির জন্য আপনাকে ধন্যবাদ!
ক্রিস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.