GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara Linux mengalokasikan bandwidth antar proses?

Seperti kebanyakan masalah kinerja, ini rumit. Berapa banyak bandwidth yang didapat setiap tugas adalah interaksi kompleks antara banyak hal, pada berbagai lapisan tumpukan jaringan. Bahkan tanpa membentuk. Daftar yang tidak lengkap:

  • Penjadwal CPU untuk kapan tugas (dan penangan interupsi driver) dapat masuk ke CPU
  • Seberapa cepat tugas mendapatkan datanya, mungkin dibatasi oleh kendala atau pertentangan
  • Disiplin antrian mana yang digunakan, pada dasarnya adalah penjadwal paket
  • Detail driver, seperti jumlah antrean TX hardware dan cara mereka memilih alur
  • Perilaku protokol TCP, jika satu aliran kebetulan mengenai kontrol kongesti, mungkin akan tetap lambat sementara bandwidth terbatas
  • Semua pertimbangan di atas untuk sistem jarak jauh yang menerima aliran
    • Jika semua koneksi Anda tidak menuju ke penerima yang sama, lainnya akhir mungkin lebih berdampak daripada Anda akhir

Banyak dari ini tidak mengoptimalkan untuk "keadilan" bandwidth yang sama, tetapi kriteria lainnya. Kontrol kemacetan TCP lebih suka memiliki sedikit hasil yang baik daripada mengalami keruntuhan kongestif.

Dan jangan lupa juga, Anda mungkin bukan satu-satunya jaringan pada waktu tertentu - jadi Anda juga perlu memasukkan router, beralih, dll antara "di sini" dan "di sana".

Jika ini lebih dari rasa ingin tahu, solusi secepat mungkin adalah mendapatkan lebih banyak bandwidth.

Atau, melakukan QoS, membentuk, atau pembatasan aplikasi dapat menetapkan kuota untuk perilaku keseluruhan yang lebih baik, apa pun artinya. Tapi ini tidak lagi secepat mungkin, Anda memilih pemenang dan pecundang berdasarkan kebijakan.


Linux
  1. Bagaimana cara mendaftar proses yang dilampirkan ke segmen memori bersama di linux?

  2. Cara mendapatkan perbedaan (hanya penambahan) antara dua file di linux

  3. Bagaimana cara mendapatkan nama host dari IP (Linux)?

  1. Linux – Bagaimana Mengkonfigurasi Berbagi Bandwidth yang Adil Antar Cgroup?

  2. Cara Membunuh Proses yang Berjalan di Linux

  3. Bagaimana cara mendapatkan ldapsearch di Scientific Linux?

  1. Cara mendapatkan ukuran direktori di Linux

  2. Bagaimana cara kerja debugger di Linux?

  3. Bagaimana cara mendapatkan netmask dari bash?