Saya telah menggunakan sshfs untuk bekerja dari jarak jauh, tetapi ini sangat lambat dan menyebalkan, terutama ketika saya menggunakan gerhana di atasnya.
Apakah ada cara yang lebih cepat untuk memasang sistem file jarak jauh secara lokal? Prioritas no. 1 saya adalah kecepatan.
Mesin jarak jauh adalah Fedora 15, mesin lokal adalah Ubuntu 10.10. Saya juga dapat menggunakan Windows XP secara lokal jika perlu.
scp
sama lambatnyasshfs
.Jika Anda perlu meningkatkan kecepatan untuk koneksi sshfs, coba opsi ini:
perintahnya adalah:
sumber
defer_permissions
meskipun (opsi tidak dikenal).nolocalcaches
menurunkan kinerja dengan memaksa pencarian setiap operasi? Apakah ini bertentanganauto_cache
?no_readahead
?Selain solusi yang sudah diusulkan untuk menggunakan Samba / NFS, yang benar-benar valid, Anda juga dapat mencapai peningkatan kecepatan dengan
sshfs
menggunakan enkripsi yang lebih cepat (otentikasi akan seaman seperti biasanya, tetapi data yang ditransfer itu sendiri akan lebih mudah untuk didekripsi) dengan menyediakan-o Ciphers=arcfour
opsi untuksshfs
. Ini sangat berguna jika mesin Anda memiliki CPU yang lemah.sumber
-oCipher=arcfour
tidak membuat perbedaan dalam pengujian saya dengan file 141 MB yang dibuat dari data acak.Saya tidak punya alternatif untuk direkomendasikan, tetapi saya bisa memberikan saran untuk cara mempercepat sshfs:
Ini harus menghindari beberapa permintaan pulang pergi ketika Anda mencoba membaca konten atau izin untuk file yang sudah Anda ambil sebelumnya di sesi Anda.
sshfs mensimulasikan penghapusan dan perubahan secara lokal, sehingga perubahan baru yang dibuat pada mesin lokal akan segera muncul, meskipun waktu habis yang besar, karena data yang di-cache dihapus secara otomatis.
Tetapi opsi ini tidak direkomendasikan jika file jarak jauh mungkin diperbarui tanpa mesin lokal mengetahui, misalnya oleh pengguna yang berbeda, atau shell ssh jarak jauh. Dalam hal itu, batas waktu lebih rendah akan lebih disukai.
Berikut adalah beberapa opsi yang saya coba, meskipun saya tidak yakin apakah ada di antara mereka yang membuat perbedaan:
Anda juga harus memeriksa opsi yang direkomendasikan oleh Meetai dalam jawabannya.
Pengulangan
Masalah terbesar dalam alur kerja saya adalah ketika saya mencoba membaca banyak folder, misalnya di pohon yang dalam, karena sshfs melakukan permintaan perjalanan pulang pergi untuk setiap folder secara terpisah. Ini mungkin juga menjadi hambatan yang Anda alami dengan Eclipse.
Membuat permintaan untuk beberapa folder secara paralel dapat membantu dengan ini, tetapi sebagian besar aplikasi tidak melakukan itu: mereka dirancang untuk sistem file latensi rendah dengan cache baca-depan, jadi mereka menunggu satu file stat untuk diselesaikan sebelum pindah ke yang berikutnya .
Berkhotbah
Tetapi sesuatu yang sshf bisa lakukan adalah melihat ke depan pada sistem file jarak jauh, mengumpulkan statistik folder sebelum saya meminta mereka, dan mengirimkannya kepada saya ketika koneksi tidak segera terisi. Ini akan menggunakan lebih banyak bandwidth (dari data lookahead yang tidak pernah digunakan) tetapi dapat meningkatkan kecepatan.
Kami dapat memaksa sshfs untuk melakukan caching baca-depan, dengan menjalankan ini sebelum Anda memulai tugas Anda, atau bahkan di latar belakang saat tugas Anda sedang berjalan:
Itu harus pra-cache semua entri direktori, mengurangi beberapa overhead kemudian dari perjalanan pulang pergi. (Tentu saja, Anda perlu menggunakan batas waktu besar seperti yang saya berikan sebelumnya, atau data cache ini akan dihapus sebelum aplikasi Anda mengaksesnya.)
Tapi itu
find
akan memakan waktu lama. Seperti aplikasi lain, ia menunggu hasil dari satu folder sebelum meminta yang berikutnya.Dimungkinkan untuk mengurangi waktu keseluruhan dengan meminta beberapa proses pencarian untuk melihat ke folder yang berbeda. Saya belum diuji untuk melihat apakah ini benar-benar lebih efisien. Itu tergantung apakah sshf memungkinkan permintaan secara paralel. (Saya pikir begitu.)
Jika Anda juga ingin melakukan pra-cache konten file, Anda dapat mencoba ini:
Tentunya ini akan memakan waktu lebih lama, akan mentransfer banyak data, dan mengharuskan Anda untuk memiliki ukuran cache yang besar. Tetapi ketika sudah selesai, mengakses file harus terasa enak dan cepat.
sumber
SSHFS benar-benar lambat karena mentransfer konten file walaupun tidak harus (saat melakukan cp). Saya melaporkan ini ke hulu dan ke Debian, tetapi tidak ada respons: /
sumber
mv
. Sayangnya ketika Anda menjalankancp
secara lokal, FUSE hanya melihat permintaan untuk membuka file untuk membaca dan menulis. Tidak tahu bahwa Anda sedang membuat salinan file. Untuk FUSE, tampilannya tidak berbeda dengan penulisan file umum. Jadi saya khawatir ini tidak dapat diperbaiki kecuali lokalcp
dibuat lebih FUSE-aware / FUSE-friendly. (Atau FUSE mungkin dapat mengirim hash blok alih-alih seluruh blok ketika mencurigaicp
, seperti rsync, tetapi itu akan rumit dan mungkin memperlambat operasi lainnya.)Setelah mencari dan mencoba. Saya baru saja menemukan menambah
-o Compression=no
kecepatan itu banyak. Penundaan mungkin disebabkan oleh proses kompresi dan tidak terkompresi. Selain itu, menggunakan 'Ciphers = aes128-ctr' tampaknya lebih cepat daripada yang lain sementara beberapa posting telah melakukan beberapa percobaan tentang ini. Lalu, perintah saya entah bagaimana seperti ini:sumber
NFS harus lebih cepat. Seberapa jauh sistem file? Jika lebih dari WAN, Anda mungkin lebih baik menyinkronkan file bolak-balik, sebagai lawan akses remote langsung.
sumber
Baik NFS atau Samba jika Anda memiliki file besar. Menggunakan NFS dengan sesuatu seperti Film 720p dan omong kosong benar-benar PITA. Samba akan melakukan pekerjaan yang lebih baik, saya tidak suka Samba karena beberapa alasan lain dan saya biasanya tidak merekomendasikannya.
Untuk file kecil, NFS harus baik-baik saja.
sumber
Saya menemukan mematikan tema zsh saya yang memeriksa status file git sangat membantu - hanya memasuki direktori butuh waktu 10 menit. Demikian juga mematikan checker status git di Vim.
sumber
Login sebagai root.
Akses direktori tingkat atas Anda, dengan menggunakan "cd /".
Kemudian pastikan bahwa Anda memiliki folder mount yang dibuat atau dibuat menggunakan "mkdir folder_name".
Setelah itu, cukup gunakan "mount xxxx: / remote_mount_directory / local_mount_directory.
jika semuanya berjalan sesuai keinginan Anda, sebelum ini, Anda harus memiliki mount yang sukses. Anda mungkin ingin memeriksa dan memastikan direktori tujuan dibagikan dengan menggunakan perintah "exportfs" untuk menjamin mereka dapat ditemukan.
Semoga ini membantu. Ini bukan dari lingkungan lvie, ini telah diuji pada LAN menggunakan VMware dan Fedora 16.
sumber