Dalam penentuan tolok ukur Anda harus selalu menetapkan apa batas Anda. Karena jika Anda berharap untuk mendapatkan 100mbs dari itu daripada Anda hanya menipu diri sendiri!
Lihatlah desain Blok ini dari RaspberryPI Model-B
Jadi kami membangun fakta yang sangat penting di sini. Ethernet macet oleh pengontrol USB karena bentuk blok digram yang kami buat terhubung ke hub USB. (Tidak ada indikasi yang jelas apakah ini menggunakan bus lain atau hanya USB2?)
Ohh look - diagram blok lain,
Sekarang bahkan lebih menjelaskan situasi. Pengontrol 10/100 terhubung ke hub USB- sayangnya, sekali lagi, tidak ada di mana pada spesifikasi apakah dikatakan seberapa cepat hub berkomunikasi dengan pengontrol lan - mengharapkan fakta kunci yang mengatakan kecepatan dan lan usb dinegosiasikan untuk lingkungan usb kecepatan campuran.
Di mana Kartu SD?
Ternyata kartu SD terhubung langsung ke BCM2835 (halaman 65) dan mereka menjelaskan dengan sangat rinci bagaimana kinerja dipengaruhi dari berbagai tingkat konfigurasi. Satu hal penting yang perlu diperhatikan adalah bahwa jika kartu SD memiliki Clock khusus, ia dapat berjalan secara independen dari CPU inti / GPU dengan kecepatan penuh (dari kartu apa pun dan standar yang digunakan - Anda dapat melihatnya didukung beberapa standar.)
Jadi apa artinya itu?
Ini berarti jika Anda membandingkan kartu SD yang lebih cepat dan pen drive jelek (4gb / 8gb) Anda kemungkinan besar akan mendapatkan perbedaan kinerja yang sangat besar. Jadi sekarang ini menimbulkan pertanyaan, bagaimana CPU / GPU menangani komunikasi dengan perangkat tertanam yang luar biasa ini (chip usb / lan) dan pada kecepatan apa ia dapat berkomunikasi.
Anda lihat sejauh mana teori sebenarnya bisa berjalan sebelum kita benar-benar melakukan pembandingan? Poin kunci lain di sini adalah - Bagaimana cara CPU mengontrol aliran data. Apakah menggunakan saluran jam terpisah seperti yang disarankan?
DI dunia yang ideal Anda akan berpikir bahwa LAN / USB ini akan menanganinya. Tapi itu membutuhkan MCU .. apakah kita melihat MCY di mana saja dalam diagram blok itu .. TIDAK!
Jadi CPU harus meminta IO DATA mengirimkannya port USB kemudian pergi ke port LAN (melalui HUB USB yang Sama) Ya .. sehingga akan menyebabkan beberapa masalah kecepatan di suatu tempat.
Juga hal yang bagus untuk dicatat apa yang terjadi ketika Anda menyalin ke pen drive USB dan dari kartu SD semua melalui LAN .. itu akan menyebabkan beberapa lalu lintas.
Kita perlu membandingkan berbagai aspek
Dalam menetapkan apa yang kita coba patok, kita dapat mengajukan pertanyaan dunia nyata.
- Seberapa cepat USB internal menangani data dari SD?
- Berapa banyak CPU yang digunakan untuk membaca / menulis ke SD lalu ke LAN?
- Berapa banyak CPU yang digunakan untuk membaca / menulis ke USB Pen drive?
- Apakah menyalin data apa pun secara langsung memengaruhi penggunaan CPU?
- Seberapa baik chip USB / LAN tertanam menangani data pembacaan dari 2 sumber kembali ke port LAN dan apakah hal itu mempengaruhi CPU secara proporsional?
- Tidak perlu untuk menguji apakah lan akan mendapatkan 10mb / s penuh karena bottlenecked oleh keadaan di mana hub USB berada.
Sekarang setelah Anda tahu apa yang Anda perjuangkan, saya menantang Anda untuk menjawabnya sendiri.
Anda mungkin menemukan ini titik awal yang sangat baik.
Referensi
Tapi kebanyakan,
pengetahuan dan penilaian teknis saya sendiri yang saya buat berdasarkan pengalaman saya sendiri. OP mengajukan pertanyaan yang sangat bagus tetapi kurang memahami bahwa tanpa pemahaman teoritis tentang suatu sistem Anda akan gagal dalam menilai / memecahkan masalah-masalah praktis.
Hasil
(4) Jawaban ini menunjukkan beberapa pengujian pembajakan turun ke bumi. Dan itu membuktikan bahwa melakukan transaksi data yang intens secara langsung mempengaruhi CPU (hanya saja tidak yakin apakah itu kartu SD atau proses pengalihan data di dalam chip BCM ke chip USB / LAN)
(6) Telah dibuktikan bahwa satu-satunya leher botol akan menjadi sumber (misalnya kartu SD lambat) Hub USB berhasil memompa data pada 90% + tetapi jawaban untuk pertanyaan 4 dan 5 dapat langsung mempengaruhi kinerja ini.
Jadi melakukan riset dan kontribusi dari pengguna lain, kami mulai membangun dan mendapatkan hasil awal.
Berikut adalah bagan yang bagus untuk membantu memvisualisasikan apa yang sedang kita hadapi.
sudo hdparm -t /dev/sdx
sebagai alat yang berguna untuk pembandingan.