Làm thế nào để FTP, FTPS, SFTP và SCP so sánh về tốc độ truyền và làm thế nào tôi có thể so sánh chúng thông qua thử nghiệm?
Làm thế nào để FTP, FTPS, SFTP và SCP so sánh về tốc độ truyền và làm thế nào tôi có thể so sánh chúng thông qua thử nghiệm?
Câu trả lời:
Nếu bạn có một mạng diện rộng nhanh, bạn sẽ thấy điều đó sftp
và scp
có cùng tốc độ, tốc độ chậm. Cả hai đều gặp vấn đề về hiệu suất trong phần mở rộng cơ bản. Với phần cứng hiện đại, điều này không phải do chi phí mã hóa, mà là do các vấn đề với việc triển khai openssh - nó thực hiện cơ chế cửa sổ bên trong của chính nó bị hỏng trên các kết nối nhanh.
Những vấn đề này trở nên rõ ràng hơn trên các kết nối đường dài (độ trễ cao hơn), nhưng tôi đã gặp phải sự chậm chạp ngay cả trên mạng LAN.
Đây là những tài liệu tốt, và các bản vá có sẵn để khắc phục vấn đề. Vá một trong hai đầu của kết nối có thể giúp đỡ; lý tưởng nhất là bạn vá cả hai đầu. Để biết thêm thông tin và các bản vá, hãy xem SSH hiệu suất cao tại Trung tâm siêu máy tính Pittsburgh.
BTW, phí mã hóa cũng có thể trở thành một vấn đề, một khi vấn đề về cửa sổ được giải quyết. Các bản vá có sửa chữa cho điều đó quá.
Trong khi đó, bạn sẽ thấy điều đó ftp
là không an toàn; nó sẽ gửi mật khẩu bằng văn bản đơn giản.
ftps
Tôi nghĩ rằng kết thúc giao thức ftp trong SSL. nó có thể nhanh hơn SFTP / SCP chưa được vá.
Một lưu ý cuối cùng: theo kinh nghiệm của tôi, ứng dụng khách WinSCP (ít nhất là đôi khi) rất chậm. Tôi không biết tại sao, nhưng dựa trên Câu hỏi thường gặp của họ, tôi không phải là người duy nhất gặp vấn đề này. Vì vậy, nếu bạn đang tìm kiếm từ Windows và có vẻ chậm, hãy thử một ứng dụng khách khác. Ngay cả với một máy chủ openssh chưa được vá, bạn có thể làm nhiều hơn, tốt hơn với một máy khách khác. Tôi không chắc đó là khách hàng tốt, không may.
Nói chung tất cả các giao thức sẽ thực hiện về cùng. Bạn có nhiều khả năng bị giới hạn bởi tốc độ của mạng hoặc đĩa của bạn hơn là giao thức.
Các phiên bản cũ hơn của OpenSSH (SFTP / SCP) đã sử dụng kích thước cửa sổ cố định sẽ giới hạn tốc độ trên các mạng có độ trễ cao (giả sử là xuyên đại dương). Có một bản vá được thiết lập để khắc phục sự cố này được gọi là HPN (Mạng hiệu suất cao) và nó được bao gồm trong hầu hết các bản cài đặt hiện đại của OpenSSH.
Nếu bạn đang gặp phải một tình huống như liên kết mạng gigabit hoặc LAN nhanh hơn và CPU chậm hơn thì SFTP / SCP có thể gặp phải nút cổ chai. Bạn sẽ có thể nói vì quá trình ssh / scp / sftp sẽ sử dụng 100% cpu trên việc gửi hoặc nhận lưu trữ. Nếu bạn đang sử dụng phiên bản OpenSSH mới hơn (6.4+), bạn có thể kích hoạt phiên bản luồng của mật mã AES có thể sử dụng nhiều hơn 1 lõi để xử lý mã hóa và sẽ ít bị giới hạn bởi CPU hơn là đĩa hoặc băng thông mạng.
Nếu bạn kiểm soát cả bên gửi và bên nhận, OpenSSH 6+ cũng có chế độ 'NONECIPHER' tùy chọn. Điều này sử dụng mã hóa / khóa thông thường, vv để đăng nhập vào máy từ xa, nhưng sau đó rơi xuống một kết nối không được mã hóa để sao chép tập tin thực tế. Điều này sẽ loại bỏ CPU đó. Có những biện pháp bảo vệ được tích hợp trong NONECIPHER hơn là ngăn bạn lấy một cái vỏ không được mã hóa.
Cuối cùng, giao thức không phải là giới hạn về tốc độ, mặc dù các phiên bản cũ của ssh có vấn đề với các liên kết có độ trễ cao.
Dựa trên chi phí mã hóa, tôi muốn nói rằng FTP đơn giản có thể có hiệu suất tốt hơn một chút so với các giao thức khác, nhưng có lẽ không đáng kể. Tôi sẽ sử dụng giao thức cung cấp bảo mật bạn cần trước tiên, sau đó lo lắng về thông lượng.
Điều đó đang được nói, bạn sẽ phải thiết lập một bài kiểm tra để tìm ra những con số thực. Tất cả mọi thứ ở trên chỉ là ý kiến của tôi. Nếu bạn đang kiểm tra hiệu suất cục bộ, hãy thiết lập một máy chủ trên mạng của bạn. Nếu việc sử dụng cuối sẽ qua internet, hãy kiểm tra từ máy chủ bên ngoài.
Như mọi khi, google giữ câu trả lời,
FTPS v / s SFPS v / s FTPS
cho biết FTP> FTPS> SFTP
FTP cũng có vẻ nhanh hơn SCP trong bài kiểm tra của người khác ( http://www.lykesoft.com/support/forums /viewtopic.php?f=5&t=542 ) nhưng tôi khuyên bạn nên tự mình thử.
Vì vậy, chỉ cần thiết lập SCP và FTP trên bất kỳ hộp ngẫu nhiên nào trên mạng của bạn, sau đó chạy truyền tệp điển hình và xem mất bao lâu cho cả hai