Pembuat IO_uring dan pengelola subsistem blok Linux Jens Axboe menghabiskan sekitar lima menit mengerjakan dua patch guna mengimplementasikan caching untuk kueri waktu sisi masalah di lapisan blok dan dapat menghasilkan kinerja I/O 6% atau lebih lebih baik.
Axboe berbagi tentang pengoptimalan kinerja I/O Linux terbarunya yang menarik, “Sesuatu yang ada dalam pikiran saya selama bertahun-tahun, dan akhirnya saya melakukannya hari ini. Agak menyedihkan, karena ini hanya pekerjaan 5 menit, menghasilkan peningkatan lebih dari 6%. Kemungkinan akan lebih besar pada konfigurasi kernel gaya distro skala penuh.”
Axboe menjelaskan bahwa dia biasanya menonaktifkan iostat saat pengujian karena overhead kinerja saat melakukan kueri secara default. Namun ketika menyediakan beberapa caching dasar untuk query sisi masalah, dia melihat peningkatan IOPS sekitar 6% dan untuk kernel vendor distribusi Linux yang lebih besar, keuntungannya mungkin lebih signifikan.
Dia merinci dalam seri patch RFC:
“Mengkueri waktu saat ini adalah hal paling mahal yang kami lakukan di lapisan blok per IO, dan bergantung pada pengaturan konfigurasi kernel, kami dapat melakukannya berkali-kali per IO.
Tidak ada penelepon yang benar-benar membutuhkan rincian nsec. Manfaatkan hal tersebut dengan menyimpan waktu saat ini di plug, dengan asumsi di sini adalah bahwa setiap pemeriksaan waktu akan cukup dekat untuk sementara sehingga sedikit hilangnya presisi tidak menjadi masalah.
Jika blok plug terhapus, misalnya pada preempt atau schedule out, maka kita membatalkan jam cache.
…
yang merupakan peningkatan kinerja lebih dari 6%. Melihat perbedaan kinerja, kita dapat melihat pengurangan besar dalam biaya overhead:
10,55% -9,88% [kernel.vmlinux] [k] read_tsc
1,31% -1,22% [kernel.vmlinux] [k] ktime_get
Perhatikan bahwa karena ini bergantung pada blk_plug untuk caching, ini hanya berlaku pada sisi masalah. Namun di sinilah sebagian besar panggilan terjadi. Tidak ada gunanya juga karena pengujian di atas tidak mengaktifkan item CPU berbiaya lebih tinggi di sisi lapisan blok, seperti wbt, cgroups, iocost, dll, yang semuanya akan menambah waktu kueri tambahan. TKI, hasilnya kemungkinan akan terlihat lebih baik dibandingkan dengan yang diaktifkan, seperti halnya distro.” Kemenangan yang bagus dan mudah-mudahan ini terus berjalan dengan baik dan terbukti berguna untuk upstreaming dengan siklus Linux v6.9 dalam beberapa bulan,
Itulah berita seputar ~5 Menit Pengkodean Menghasilkan Peningkatan 6%+ Pada Kinerja I/O Linux, semoga bermanfaat. Disadur dari Phoronix.com.