Fitur throttling berbasis bobot blk-iocost adalah peningkatan Alibaba Cloud Linux untuk fitur throttling disk berbasis bobot dari subsistem I/O cgroup (blkcg). blk-iocost adalah pengontrol I/O yang digunakan untuk mengalokasikan bandwidth ke operasi I/O pada perangkat blok berdasarkan prioritas aplikasi atau proses. blk-iocost juga dapat mengontrol penggunaan bandwidth I/O perangkat blok oleh aplikasi atau proses tertentu berdasarkan nilai bobot yang ditentukan. blk-iocost membantu Anda mengelola sumber daya disk I/O dengan lebih baik.
cgroup v1 dan cgroup v2 adalah dua versi fitur manajemen sumber daya di kernel Linux. Di kernel Alibaba Cloud Linux, fitur blk-iocost mendukung antarmuka cgroup v1 dan v2. Dalam kebanyakan kasus, hanya satu versi yang diaktifkan dan digunakan dalam sistem. Anda dapat menjalankan perintah stat -fc %T /sys/fs/cgroup untuk memeriksa.
Jika
tmpfsdikembalikan, antarmuka cgroup v1 digunakan.Jika
cgroup2fsdikembalikan, antarmuka cgroup v2 digunakan.
Batasan pada sistem operasi
Alibaba Cloud Linux 2 dengan versi kernel
4.19.81-17atau lebih baruAlibaba Cloud Linux 3
Catatan penggunaan untuk antarmuka cost.qos
cost.qos adalah antarmuka baca/tulis yang digunakan untuk mengaktifkan atau menonaktifkan fitur blk-iocost dan membatasi laju kualitas layanan (QoS) I/O berdasarkan bobot latensi. File antarmuka hanya ada di grup root blkcg, dan nama lengkapnya bervariasi berdasarkan versi cgroup.
cgroup v1:
blkio.cost.qoscgroup v2:
io.cost.qos
Konfigurasi
Setiap baris dalam file konfigurasi dimulai dengan nomor mayor (MAJ) dan minor (MIN) disk dalam format MAJ:MIN, diikuti oleh parameter dalam tabel berikut. Untuk menanyakan nomor MAJ dan MIN disk, jalankan perintah lsblk | grep <nama disk>.
Parameter | Deskripsi |
enable | Menentukan apakah akan mengaktifkan fitur blk-iocost.
|
ctrl | Mode kontrol. Nilai valid:
|
Aktifkan fitur blk-iocost
Aktifkan fitur blk-iocost untuk disk. Dalam contoh ini, disk 254:48 digunakan, dan mode kontrol diatur ke user. Jika lebih dari 95% permintaan baca dan tulis memiliki latensi (rlat|wlat) lebih lama dari 5 milidetik, disk dianggap jenuh. Kernel menyesuaikan laju pengiriman permintaan ke disk dalam rentang 50% hingga 150%.
Antarmuka cgroup v1
sudo sh -c 'echo "254:48 enable=1 ctrl=user rpct=95.00 rlat=5000 wpct=95.00 wlat=5000 min=50.00 max=150.00" > /sys/fs/cgroup/blkio/blkio.cost.qos'Antarmuka cgroup v2
sudo sh -c 'echo "254:48 enable=1 ctrl=user rpct=95.00 rlat=5000 wpct=95.00 wlat=5000 min=50.00 max=150.00" > /sys/fs/cgroup/io.cost.qos'
Catatan penggunaan untuk antarmuka cost.model
cost.model adalah antarmuka baca/tulis yang digunakan untuk mengonfigurasi model biaya. File antarmuka hanya ada di grup root blkcg, dan nama lengkapnya bervariasi berdasarkan versi cgroup.
cgroup v1:
blkio.cost.modelcgroup v2:
io.cost.model
Konfigurasi
Setiap baris dalam file konfigurasi dimulai dengan nomor mayor (MAJ) dan minor (MIN) disk dalam format MAJ:MIN, diikuti oleh parameter dalam tabel berikut. Untuk menanyakan nomor MAJ dan MIN disk, jalankan perintah lsblk | grep <nama disk>.
Parameter | Deskripsi |
ctrl | Mode kontrol. Nilai valid:
|
model | Parameter model. Nilai valid:
|
Gunakan antarmuka cost.model untuk mengonfigurasi model biaya
Dalam contoh ini, disk 254:48 digunakan. Atur parameter model ke linear dan tentukan parameter pemodelan untuk mengonfigurasi model biaya.
Antarmuka cgroup v1
sudo sh -c 'echo "254:48 ctrl=user model=linear rbps=2706339840 rseqiops=89698 rrandiops=110036 wbps=1063126016 wseqiops=135560 wrandiops=130734" > /sys/fs/cgroup/blkio/blkio.cost.model'Antarmuka cgroup v2
sudo sh -c 'echo "254:48 ctrl=user model=linear rbps=2706339840 rseqiops=89698 rrandiops=110036 wbps=1063126016 wseqiops=135560 wrandiops=130734" > /sys/fs/cgroup/io.cost.model'
Catatan penggunaan untuk antarmuka weight/cost.weight
Antarmuka weight Alibaba Cloud Linux 3 dan antarmuka cost.weight Alibaba Cloud Linux 2 adalah antarmuka inti dalam kernel yang digunakan untuk mengontrol alokasi sumber daya I/O. Kedua antarmuka tersebut adalah antarmuka baca/tulis. Anda dapat secara dinamis mengalokasikan bandwidth disk I/O dengan mengonfigurasi nilai bobot dalam rentang [1,10000]. File antarmuka hanya ada di subgrup blkcg, dan nama lengkapnya bervariasi berdasarkan versi cgroup.
Alibaba Cloud Linux 3
cgroup v1:
blkio.cost.weightcgroup v2:
io.weight
Alibaba Cloud Linux 2
cgroup v1:
blkio.cost.weightcgroup v2:
io.cost.weight
Konfigurasi
Tetapkan nilai bobot
<bobot>untuk antarmuka untuk mengubah bobot defaultblkcg.Tetapkan nomor port dan nilai bobot
MAJ:MIN <bobot>untuk antarmuka untuk mengubah bobot blkcg pada disk yang ditentukan.
Ubah bobot
Setelah Anda mengaktifkan fitur blk-iocost, buat grup kontrol blkcg1 cgroup v1 dan grup kontrol cg1 cgroup v2, dan gunakan antarmuka cost.weight untuk cgroup v1 dan antarmuka weight untuk cgroup v2 untuk mengubah bobot default grup kontrol menjadi 50. Kemudian, atur bobot grup kontrol pada disk 254:48 menjadi 50.
Antarmuka cgroup v1
sudo mkdir /sys/fs/cgroup/blkio/blkcg1 # Buat grup kontrol blkcg1 sudo sh -c 'echo "50" > /sys/fs/cgroup/blkio/blkcg1/blkio.cost.weight' # Ubah bobot default menjadi 50 sudo sh -c 'echo "254:48 50" > /sys/fs/cgroup/blkio/blkcg1/blkio.cost.weight' # Atur bobot pada disk menjadi 50Antarmuka cgroup v2
Alibaba Cloud Linux 3
sudo mkdir /sys/fs/cgroup/cg1 # Buat grup kontrol cg1 sudo sh -c 'echo "50" > /sys/fs/cgroup/cg1/io.weight' # Ubah bobot default menjadi 50 sudo sh -c 'echo "254:48 50" > /sys/fs/cgroup/cg1/io.weight' # Atur bobot pada disk menjadi 50Alibaba Cloud Linux 2
sudo mkdir /sys/fs/cgroup/cg1 # Buat grup kontrol cg1 sudo sh -c 'echo "50" > /sys/fs/cgroup/cg1/io.cost.weight' # Ubah bobot default menjadi 50 sudo sh -c 'echo "254:48 50" > /sys/fs/cgroup/cg1/io.cost.weight' # Atur bobot pada disk menjadi 50
Alat pemantauan umum
blk-iocost perlu memantau dan mengevaluasi Kinerja I/O sistem Anda. Anda dapat menggunakan alat atau antarmuka berikut untuk memantau penggunaan sumber daya I/O dan mengoptimalkan pemanfaatan sumber daya.