FTP / FTPS / SFTP / SCP - การเปรียบเทียบความเร็ว [ปิด]


21

FTP, FTPS, SFTP และ SCP จะเปรียบเทียบในแง่ของอัตราการถ่ายโอนได้อย่างไรและฉันจะเปรียบเทียบได้อย่างไรผ่านการทดสอบ


3
ความเร็วไม่ใช่ความแตกต่างที่สำคัญระหว่าง FTP และอื่น ๆ
ceejayoz

2
ฉันไม่แน่ใจว่าทำไมเรื่องนี้ถึงได้รับการโหวตนอกหัวข้อ แน่นอนว่าเกี่ยวข้องกับงานของฉันในฐานะผู้ดูแลระบบมืออาชีพ - ทำไมไม่ถ่ายโอนไฟล์โดยใช้ที่ใดก็ได้ใกล้แบนด์วิดท์ของเส้นทางการเชื่อมต่อทั้งหมด
Dan Pritts

คุณสามารถชดเชยความแตกต่างความเร็วของ SFTP ได้โดยใช้การเชื่อมต่อ TCP หลายตัวที่ขับเคลื่อนโดยLFTP และระบบย่อยของมิเรอร์โดยใช้ SFTPโดยไม่ลดทอนความปลอดภัย มันยังสามารถใช้หลายเธรดสำหรับไฟล์ขนาดใหญ่ไฟล์เดียว
แอรอน

คำตอบ:


29

หากคุณมีเครือข่ายอย่างรวดเร็วบริเวณกว้างคุณจะพบว่าsftpและscpที่เกี่ยวกับความเร็วเดียวกันที่ช้า พวกเขาทั้งสองประสบปัญหาประสิทธิภาพใน openssh ต้นแบบ ด้วยฮาร์ดแวร์ที่ทันสมัยสิ่งนี้ไม่ได้เกิดจากค่าใช้จ่ายในการเข้ารหัส แต่เป็นเพราะปัญหาเกี่ยวกับการใช้งาน openssh - มันใช้กลไกหน้าต่างภายในของตัวเองซึ่งแบ่งการเชื่อมต่อที่รวดเร็ว

ปัญหาเหล

สิ่งเหล่านี้มีเอกสารที่ดีและมีโปรแกรมแก้ไขเพื่อแก้ไขปัญหา การเชื่อมต่อปลายทั้งสองด้านของการเชื่อมต่อสามารถช่วยได้ นึกคิดคุณจะแก้ไขทั้งสองด้าน สำหรับข้อมูลเพิ่มเติมและแพตช์ดูประสิทธิภาพสูง SSHที่ Pittsburgh Supercomputer Center

BTW ค่าโสหุ้ยการเข้ารหัสอาจกลายเป็นปัญหาเช่นกันเมื่อปัญหาการแก้ไขหน้าต่างได้รับการแก้ไขแล้ว แพทช์มีการแก้ไขสำหรับสิ่งนั้นด้วย

ในขณะเดียวกันคุณจะพบว่าftpไม่ปลอดภัยอย่างร้ายกาจ; มันส่งรหัสผ่านเป็นข้อความธรรมดา

ftpsฉันคิดว่า wraps โปรโตคอล ftp ใน SSL อาจเร็วกว่า SFTP / SCP ที่ไม่ได้จับคู่

หมายเหตุสุดท้ายประการหนึ่ง: จากประสบการณ์ของฉันไคลเอนต์ WinSCP คือ (อย่างน้อยบางครั้ง) ช้าอย่างเจ็บปวด ฉันไม่รู้ว่าทำไม แต่จากคำถามที่พบบ่อยฉันไม่ใช่คนเดียวที่มีปัญหานี้ ดังนั้นหากคุณกำลังสแกนจาก Windows และดูเหมือนว่าช้าให้ลองไคลเอ็นต์อื่น แม้จะมีเซิร์ฟเวอร์ openssh ที่ไม่ตรงกันคุณก็สามารถทำได้ดีกว่ามากด้วยไคลเอนต์อื่น ฉันไม่แน่ใจว่าลูกค้าคนไหนดี


1
ในที่สุด คนที่รู้ว่าพวกเขากำลังพูดถึงอะไร ใช่ FTPS นั้นเป็น FTP ใน SSL SFTP / SCP จะช้าลงเสมอเมื่อใช้ FTP
Jason

คุณมีความคิดใดบ้างไหมว่าทำไมฉันถึงได้ 300 kb / s ด้วย scp ในขณะที่รับประมาณ 10 Mb / s (เกือบความเร็วสูงสุด) ด้วย sftp? ดูเหมือนจะไม่ "มีความเร็วเท่ากัน" นี่คืออีเธอร์เน็ตมากกว่า 100Mbps
graywolf

ดีที่สุดเดา scp ของคุณคือการใช้งานที่มีข้อบกพร่อง (เช่น WinSCP) แต่ sftp ของคุณไม่ใช่ แม้ว่าพวกเขาจะอยู่ใน wrapper GUI เดียวกันพวกเขาอาจแตกต่างกันภายใน
Dan Pritts

แดนความคิดใด ๆ ที่ว่าทำไม SSH Patch นี้ไม่ได้ใช้กับ OpenSSH หลัก เห็นได้ชัดว่ามันเป็นขนาด 1 ~ 2 ออเดอร์ที่ดีกว่า (> 10 เท่าแม้ในระบบ LAN 100Mbps) ทำไมจึงไม่เป็นมาตรฐาน OpenSSH ใหม่ เราจะทำให้มันเป็นเช่นนั้นได้อย่างไร
Gabriel Staples

ความเข้าใจของฉันคือ PSC ส่งแพทช์ไปยังคน openbsd (ผู้เขียน openssh) พวกเขาไม่สนใจ ฉันได้ยินข้อความที่คลุมเครือว่าไม่มีคน openbsd ที่มีการเชื่อมต่อแบนด์วิธสูงและพวกเขาไม่ได้สังเกตเห็นปัญหาใด ๆ และ / หรือจำเป็นต้องเชื่อว่ามีปัญหาจริง เมื่อหลายปีก่อนและเป็นข่าวลือดังนั้นฉันจึงไม่สามารถรับรองความถูกต้องได้
Dan Pritts

4

โดยทั่วไปโปรโตคอลทั้งหมดจะทำงานเหมือนกัน คุณมีแนวโน้มที่จะถูก จำกัด ด้วยความเร็วของเครือข่ายหรือดิสก์ของคุณมากกว่าโดยโปรโตคอล

OpenSSH เวอร์ชั่นเก่ากว่า (SFTP / SCP) ใช้ขนาดหน้าต่างคงที่ซึ่งจะ จำกัด ความเร็วบนเครือข่ายเวลาแฝงที่สูง (พูดข้ามมหาสมุทรแอตแลนติก) มีชุดแก้ไขเพื่อแก้ไขปัญหานี้เรียกว่า HPN (เครือข่ายประสิทธิภาพสูง) และรวมอยู่ในการติดตั้ง OpenSSH ที่ทันสมัยที่สุด

หากคุณกำลังทำงานในสถานการณ์เช่นลิงค์กิกะบิตหรือ LAN ที่เร็วกว่าและ CPU ที่ช้ากว่า SFTP / SCP อาจทำงานเป็นคอขวด คุณสามารถบอกได้เพราะกระบวนการ ssh / scp / sftp จะใช้ 100% ของ cpu ในการส่งหรือรับโฮสติ้ง หากคุณใช้ OpenSSH เวอร์ชันใหม่กว่า (6.4+) คุณสามารถเปิดใช้งานการเข้ารหัส AES รุ่นที่เป็นเธรดซึ่งจะสามารถใช้มากกว่า 1 คอร์เพื่อจัดการการเข้ารหัสและมีแนวโน้มที่จะถูก จำกัด ด้วย CPU มากกว่าดิสก์ หรือแบนด์วิธเครือข่าย

หากคุณควบคุมทั้งด้านการส่งและรับ OpenSSH 6+ ยังมีโหมด 'NONECIPHER' ซึ่งเป็นตัวเลือก ใช้การเข้ารหัส / คีย์ปกติ ฯลฯ เพื่อเข้าสู่เครื่องระยะไกล แต่จากนั้นไปที่การเชื่อมต่อที่ไม่ได้เข้ารหัสสำหรับการคัดลอกไฟล์จริง นี่จะเป็นการลบซีพียูโอเวอร์เฮด มีการป้องกันในตัวกับ NONECIPHER มากกว่าป้องกันคุณจากการได้รับเชลล์ที่ไม่ได้เข้ารหัส

ในที่สุดโพรโทคอลไม่ควรมีข้อ จำกัด เกี่ยวกับความเร็วแม้ว่า ssh รุ่นเก่าจะมีปัญหากับลิงค์เวลาแฝงสูง


เป็นการดีที่จะรู้ว่าตอนนี้ค่าเริ่มต้นจะได้รับการติดตั้งแพตช์แล้วแม้ว่ามันจะดูเหมือน redhat ได้ตัดสินใจอย่างชัดเจนแล้ว ( access.redhat.com/site/solutions/53215 ) นอกจากนี้โปรดทราบว่าเวลาแฝงข้ามมหาสมุทรแอตแลนติกนั้นไม่ได้มีความสำคัญมากนัก ping rtts ปัจจุบัน: umich -> stanford (แคลิฟอร์เนีย): 89ms umich -> แคมบริดจ์ (สหราชอาณาจักร): 134 มิลลิวินาที นอกจากนี้การรวมกันของเวลาแฝงและแบนด์วิดท์ที่ทำให้เกิดปัญหาไม่ใช่หรือ เวลาหน่วงต่ำลง แต่การเชื่อมโยงแบนด์วิดท์ที่สูงขึ้นยังคงมีปัญหาอยู่
Dan Pritts

3

จากค่าใช้จ่ายในการเข้ารหัสผมจะบอกว่า FTP ธรรมดาอาจมีประสิทธิภาพที่ดีกว่าเล็กน้อยโปรโตคอลอื่น ๆ แต่ก็อาจจะเล็กน้อย ฉันจะใช้โปรโตคอลที่ให้ความปลอดภัยที่คุณต้องการก่อนจากนั้นกังวลเรื่องปริมาณงาน

ดังที่กล่าวมาคุณจะต้องตั้งค่าการทดสอบเพื่อหาตัวเลขจริง ทุกอย่างข้างต้นเป็นเพียงความคิดเห็นของฉัน หากคุณกำลังทดสอบประสิทธิภาพในเครื่องให้ตั้งค่าเซิร์ฟเวอร์ในเครือข่ายของคุณ หากการใช้ปลายทางสิ้นสุดลงผ่านอินเทอร์เน็ตให้ทดสอบจากโฮสต์ภายนอก


ค่าใช้จ่ายในการปฏิบัติงานเป็นคำสั่งของขนาดไม่น้อย ใกล้ถึง 10 เท่าช้ากว่า 2x ฉันรู้สึกประหลาดใจตัวเอง
Gomibushi

2

และเช่นเคย Google มีคำตอบคือ
FTP v / s SFTP v / s FTPS
ซึ่งระบุว่า FTP> FTPS> SFTP
FTP นั้นดูเหมือนจะเร็วกว่า SCP ในการทดสอบของคนอื่น ( http://www.lysesoft.com/support/forums) /viewtopic.php?f=5&t=542 ) แต่ฉันขอแนะนำให้ลองดูด้วยตัวคุณเอง
ดังนั้นเพียงแค่ตั้งค่า SCP และ FTP บนกล่องสุ่มใด ๆ ในเครือข่ายของคุณจากนั้นทำการถ่ายโอนไฟล์ทั่วไปและดูว่าต้องใช้เวลานานแค่ไหน


ทำไมคุณถึงบอกว่า FTP เป็นอินเทอร์เน็ตโปรโตคอลและ SCP สำหรับ LAN
Dan Pritts

5
อ่าฉันเห็นว่าคุณได้รับสิ่งนั้นจากบทความ eHow ที่เชื่อมโยง eHow ผิด โปรโตคอลทั้งสองได้รับการออกแบบสำหรับการใช้งานอินเทอร์เน็ต บทความนี้มีข้อผิดพลาดอื่น ๆ อีกหลายประการ นักเขียนไม่ชัดเจนว่าเขา / เธอกำลังพูดถึงอะไร
Dan Pritts

ตอนนี้ฉันคิดถึงมันคุณพูดถูกฉันน่าจะตรวจสอบแล้ว

1
ไซต์เช่น eHow ไม่เคยรู้ว่าสิ่งที่พวกเขากำลังพูดถึง
Jason
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.