FTP, FTPS, SFTP และ SCP จะเปรียบเทียบในแง่ของอัตราการถ่ายโอนได้อย่างไรและฉันจะเปรียบเทียบได้อย่างไรผ่านการทดสอบ
FTP, FTPS, SFTP และ SCP จะเปรียบเทียบในแง่ของอัตราการถ่ายโอนได้อย่างไรและฉันจะเปรียบเทียบได้อย่างไรผ่านการทดสอบ
คำตอบ:
หากคุณมีเครือข่ายอย่างรวดเร็วบริเวณกว้างคุณจะพบว่าsftp
และscp
ที่เกี่ยวกับความเร็วเดียวกันที่ช้า พวกเขาทั้งสองประสบปัญหาประสิทธิภาพใน openssh ต้นแบบ ด้วยฮาร์ดแวร์ที่ทันสมัยสิ่งนี้ไม่ได้เกิดจากค่าใช้จ่ายในการเข้ารหัส แต่เป็นเพราะปัญหาเกี่ยวกับการใช้งาน openssh - มันใช้กลไกหน้าต่างภายในของตัวเองซึ่งแบ่งการเชื่อมต่อที่รวดเร็ว
ปัญหาเหล
สิ่งเหล่านี้มีเอกสารที่ดีและมีโปรแกรมแก้ไขเพื่อแก้ไขปัญหา การเชื่อมต่อปลายทั้งสองด้านของการเชื่อมต่อสามารถช่วยได้ นึกคิดคุณจะแก้ไขทั้งสองด้าน สำหรับข้อมูลเพิ่มเติมและแพตช์ดูประสิทธิภาพสูง SSHที่ Pittsburgh Supercomputer Center
BTW ค่าโสหุ้ยการเข้ารหัสอาจกลายเป็นปัญหาเช่นกันเมื่อปัญหาการแก้ไขหน้าต่างได้รับการแก้ไขแล้ว แพทช์มีการแก้ไขสำหรับสิ่งนั้นด้วย
ในขณะเดียวกันคุณจะพบว่าftp
ไม่ปลอดภัยอย่างร้ายกาจ; มันส่งรหัสผ่านเป็นข้อความธรรมดา
ftps
ฉันคิดว่า wraps โปรโตคอล ftp ใน SSL อาจเร็วกว่า SFTP / SCP ที่ไม่ได้จับคู่
หมายเหตุสุดท้ายประการหนึ่ง: จากประสบการณ์ของฉันไคลเอนต์ WinSCP คือ (อย่างน้อยบางครั้ง) ช้าอย่างเจ็บปวด ฉันไม่รู้ว่าทำไม แต่จากคำถามที่พบบ่อยฉันไม่ใช่คนเดียวที่มีปัญหานี้ ดังนั้นหากคุณกำลังสแกนจาก Windows และดูเหมือนว่าช้าให้ลองไคลเอ็นต์อื่น แม้จะมีเซิร์ฟเวอร์ openssh ที่ไม่ตรงกันคุณก็สามารถทำได้ดีกว่ามากด้วยไคลเอนต์อื่น ฉันไม่แน่ใจว่าลูกค้าคนไหนดี
โดยทั่วไปโปรโตคอลทั้งหมดจะทำงานเหมือนกัน คุณมีแนวโน้มที่จะถูก จำกัด ด้วยความเร็วของเครือข่ายหรือดิสก์ของคุณมากกว่าโดยโปรโตคอล
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 รุ่นเก่าจะมีปัญหากับลิงค์เวลาแฝงสูง
จากค่าใช้จ่ายในการเข้ารหัสผมจะบอกว่า FTP ธรรมดาอาจมีประสิทธิภาพที่ดีกว่าเล็กน้อยโปรโตคอลอื่น ๆ แต่ก็อาจจะเล็กน้อย ฉันจะใช้โปรโตคอลที่ให้ความปลอดภัยที่คุณต้องการก่อนจากนั้นกังวลเรื่องปริมาณงาน
ดังที่กล่าวมาคุณจะต้องตั้งค่าการทดสอบเพื่อหาตัวเลขจริง ทุกอย่างข้างต้นเป็นเพียงความคิดเห็นของฉัน หากคุณกำลังทดสอบประสิทธิภาพในเครื่องให้ตั้งค่าเซิร์ฟเวอร์ในเครือข่ายของคุณ หากการใช้ปลายทางสิ้นสุดลงผ่านอินเทอร์เน็ตให้ทดสอบจากโฮสต์ภายนอก
และเช่นเคย 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 บนกล่องสุ่มใด ๆ ในเครือข่ายของคุณจากนั้นทำการถ่ายโอนไฟล์ทั่วไปและดูว่าต้องใช้เวลานานแค่ไหน