Apakah ada teknik di Windows yang secara selektif dapat membatasi bandwidth dari proses yang berjalan?
Apakah ada teknik di Windows yang secara selektif dapat membatasi bandwidth dari proses yang berjalan?
Jawaban:
Saya menggunakan Net Limiter , yang memiliki versi gratis, tetapi sayangnya Anda harus membayar untuk fitur pembatasan .
NetLimiter adalah alat kontrol dan pemantauan lalu lintas internet utama yang dirancang untuk Windows. Anda dapat menggunakan NetLimiter untuk menetapkan unduhan / unggah batas kecepatan transfer untuk aplikasi atau bahkan koneksi tunggal dan memonitor lalu lintas internet mereka.
Seiring dengan fitur unik ini, Netlimiter menawarkan seperangkat alat statistik internet yang komprehensif. Ini mencakup pengukuran lalu lintas waktu nyata dan statistik lalu lintas internet per aplikasi jangka panjang
Ada alasan bagus untuk melihat pendekatan "router yang menghadap Internet" untuk mengelola jaringan secara keseluruhan - namun karena pertanyaan awal yang spesifik dan pengguna mungkin satu-satunya komputer di jaringan, itu adalah masalah kedua.
Per salah satu jawaban teratas lainnya, untuk sementara waktu saya menguji NetBalancer . Ini bekerja sangat baik - dan mudah dikonfigurasi.
NetBalancer tersedia untuk pembelian di halaman web mereka dengan harga sekitar $ 50. Versi uji coba / gratis memungkinkan Anda untuk memonitor koneksi - tetapi tidak mengizinkan pelambatan.
Alternatifnya adalah NetLimiter . Ini memiliki masa percobaan gratis - tetapi dimulai pada ~ $ 20 untuk versi Lite atau ~ $ 30 untuk versi Pro. NetLimiter adalah aplikasi masuk yang sudah dicoba dan diuji untuk banyak SysAdmins.
Ketika uji coba NetLimiter berakhir, sampai Anda membeli lisensi, itu menjadi alat pemantauan saja - dan tidak lagi mendukung pelambatan. Ini masih bisa bermanfaat - tetapi tidak untuk kasus penggunaan ini.
Meskipun menggunakan router pintar / sangat dapat dikonfigurasi biasanya merupakan pendekatan yang lebih baik untuk manajemen jaringan holistik , pemutusan antara itu dan pertanyaan awal tidak dijelaskan dalam jawaban @ ZaB. Pertanyaan asli secara khusus menanyakan tentang suatu proses - yang tidak bisa diidentifikasi oleh router dengan andal.
Satu variasi yang hampir berguna pada akhir ini adalah jika suatu aplikasi hanya berkomunikasi melalui saluran tertentu atau jenis lalu lintas yang dengan mudah dapat diidentifikasi oleh router. Contohnya adalah di bawah unduhan Asal EA:
Asal saat ini menggunakan Akamai. Biasanya saya mengatur unduhan / pembaruan otomatis untuk dijalankan kapan saja - tapi saya lebih suka itu tidak menggunakan semua kapasitas lini sementara saya sibuk melakukan hal-hal lain yang lebih penting. Asal terjadi sangat buruk di ini semacam dari hal, sehingga tidak mendukung jadwal unduhan atau unduhan pembatasan. Saat ini desktop saya sedang mengunduh game menggunakan server "a1750.d.akamai.net". Perute MikroTik (contoh dari perute cerdas) dapat mencatat bahwa nama DNS ini digunakan (akan berada dalam cache DNS dengan alamat IP) dan dapat dikonfigurasi sementara untuk menambahkan alamat IP server tujuan ke "daftar alamat" ". Semua lalu lintas ke / dari daftar alamat dapat ditambahkan ke antrian yang dibatasi dengan demikian, secara teknis, membatasi satu aplikasi.
Namun pendekatan di atas naif. EA kapan saja dapat mengubah nama server, protokol yang digunakan, atau layanan lain yang tidak terkait menggunakan infrastruktur Akamai dapat secara tidak sengaja diperketat. Sekarang aturan baru saya yang mengkilap tidak berguna dan rusak.
Ini adalah pelarian orang miskin saya:
Itu tidak benar-benar membatasi bandwidth, melainkan menunda / melanjutkan proses makan bandwidth dan dengan demikian membebaskan beberapa bandwidth untuk aplikasi lain. Dan gratis!
Anda perlu PsSuspend.exe (saya memasukkan file ini ke C: \ tools \ sysinternals) dan file batch (mis. Slow.bat:
@echo off
:START
c:\tools\sysinternals\pssuspend.exe %1 >NUL: 2>&1
timeout /T 1 /NOBREAK >NUL:
c:\tools\sysinternals\pssuspend.exe -r %1 >NUL: 2>&1
timeout /T 1 /NOBREAK >NUL:
goto START
Sekarang buka baris perintah sebagai administrator dan jalankan file batch dengan program throttles sebagai parameter
slow.bat filetransfer.exe
(ganti filetransfer.exe dengan nama program Anda)
Jika sudah selesai, tekan CTRL-C dan batalkan batch.
Jika program masih berjalan, pertimbangkan untuk melanjutkan program jika Anda menghentikan batch ketika program ditangguhkan:
c:\tools\sysinternals\pssuspend.exe -r filetransfer.exe
(ganti filetransfer.exe dengan nama program Anda)
Anda dapat menggunakan Kebijakan Grup Windows untuk membatasi bandwidth dari setiap proses. Pergi ke:
Di sini Anda dapat melihat kebijakan saat ini dan membuat yang baru dengan:
Panduan memungkinkan Anda membuat kebijakan untuk membatasi bandwidth untuk:
Dan kebijakan Anda kemudian dapat difilter berdasarkan:
Anda juga dapat membuat kebijakan ini di Powershell dengan menjalankan:
New-NetQosPolicy -Name "FTP" -AppPathNameMatchCondition "ftp.exe" -ThrottleRateActionBitsPerSecond 1MB
Meskipun ini mungkin memerlukan hak administrator, dan tampaknya ada bug di mana kebijakan yang dibuat seperti ini tidak akan muncul di GUI.