Memahami profil yang dicari RedHat yang disarankan

8

Kita akan meluncurkan tuned (dan numad) pada ~ 1000 server, sebagian besar dari mereka adalah server VMware baik pada penyimpanan NetApp atau 3Par.

Menurut dokumentasi RedHats kita harus memilih virtual-guestprofil. Apa yang dilakukannya dapat dilihat di sini: tuned.conf

Kami mengubah penjadwal IO ke NOOP karena VMware dan NetApp / 3Par harus melakukan penjadwalan yang cukup bagi kami.

Namun, setelah menyelidiki sedikit, saya tidak yakin mengapa mereka meningkat vm.dirty_ratiodan kernel.sched_min_granularity_ns.

Sejauh yang saya pahami peningkatan meningkat vm.dirty_ratiomenjadi 40% akan berarti bahwa untuk server dengan ram 20GB, 8GB dapat menjadi kotor pada waktu tertentu, kecuali jika vm.dirty_writeback_centisecsterkena terlebih dahulu. Dan sementara menyiram 8GB ini semua IO untuk aplikasi akan diblokir sampai halaman kotor dibebaskan.

Meningkatkan dirty_ratio mungkin akan berarti kinerja penulisan yang lebih tinggi di puncak karena kita sekarang memiliki cache yang lebih besar, tetapi sekali lagi ketika cache mengisi IO akan diblokir untuk waktu yang jauh lebih lama (Beberapa detik).

Yang lain adalah mengapa mereka meningkatkan sched_min_granularity_ns. Jika saya memahaminya dengan benar meningkatkan nilai ini akan mengurangi jumlah irisan waktu per epoch ( sched_latency_ns) yang berarti bahwa menjalankan tugas akan mendapatkan lebih banyak waktu untuk menyelesaikan pekerjaan mereka. Saya bisa mengerti ini menjadi hal yang sangat baik untuk aplikasi dengan sangat sedikit utas, tetapi untuk misalnya. apache atau proses lain dengan banyak utas bukankah ini tidak produktif?

espenfjo
sumber

Jawaban:

7

Jawaban singkatnya adalah bahwa setiap penyetelan adalah dugaan dan hanya memiliki nilai ketika didukung dengan data empiris: Cobalah. Ukur itu. Jika Anda tidak menyukainya, lakukan penyesuaian.

Jawaban yang lebih panjang:

Meningkatkan dirty_ratio mungkin berarti kinerja penulisan yang lebih tinggi ... IO akan diblokir untuk waktu yang jauh lebih lama

Tidak. Meningkatkan rasio kotor berarti bahwa sistem Anda cenderung masuk ke kondisi di mana ia harus mulai memblokir penulisan. The downside adalah bahwa ada lebih banyak memori yang digunakan dan risiko lebih besar dari kehilangan data dalam pemadaman.

artinya menjalankan tugas akan mendapatkan lebih banyak waktu untuk menyelesaikan pekerjaan mereka

Proses biasanya akan menghasilkan sebelum irisan waktu mereka berakhir. Masalah dengan VM adalah bahwa mesin Anda mungkin bersaing untuk CPU dan cache L1 / L2 dengan VM lain - tingginya tingkat pengalihan tugas (karena pre-empting) memiliki dampak besar pada throughput. Jenis aplikasi yang biasanya digunakan untuk VM adalah yang terikat CPU (server web, server aplikasi).

Ya, peningkatan throughput (yang berlaku untuk semua jenis aplikasi) akan datang pada biaya peningkatan latensi - tetapi yang terakhir adalah dari urutan mikrodetik ketika sebagian besar transaksi mengambil milidetik. Jika Anda membutuhkan kemampuan waktu nyata / latensi sangat rendah maka Anda seharusnya tidak menggunakan VM.

symcbean
sumber
Nyata. Ini hanya panduan. Sesuaikan dengan selera Anda. Saya masih menggunakan scheduler "tenggat waktu" yang disarankan untuk VM.
ewwhite
1
@ewwhite Mengapa Anda merekomendasikan dan deadlinebukannya NOOP di VMware dengan penyimpanan yang tepat?
espenfjo
@ Espenfjo Yah, karena RedHat merekomendasikan deadline... tetapi juga melihat jawaban saya.
ewwhite
12

Inilah jadwal konfigurasi tuned-adm ...

Saya pikir sangat membantu melihatnya dalam bentuk tabel. Hal utama yang perlu diperhatikan adalah bahwa pengaturan RHEL6 default menyedot !! Hal lain adalah bahwa perusahaan-penyimpanan dan profil tamu virtual adalah identik kecuali untuk mengurangi swappiness di sisi tamu virtual (masuk akal, kan?).

profil yang disetel

Adapun rekomendasi tentang penyimpanan I / O elevator, Anda memiliki beberapa lapisan abstraksi pada lapisan penyimpanan. Menggunakan penjadwal noop akan masuk akal jika Anda menggunakan RDM atau menghadirkan penyimpanan langsung ke mesin virtual Anda. Tapi karena mereka akan hidup di NFS atau VMFS, saya masih suka opsi tuning tambahan yang diberikan oleh penjadwal tenggat waktu.

Profil yang disetel dapat diubah sewaktu-waktu pada sistem yang sedang berjalan, jadi jika Anda memiliki masalah, uji dengan aplikasi Anda dan lingkungan serta tolok ukur tertentu.

putih
sumber
1
oke terima kasih. Pahami mengapa Anda mau deadlinesekarang :)
espenfjo
8

Tonton video penyetelan kinerja Shak dan Larry dari Summit, mereka berbicara tentang profil yang disetel secara mendalam.

Salah satu tujuan takeaways terbesar adalah bahwa profil hanya titik awal yang direkomendasikan, bukan angka yang tidak berubah yang secara ajaib sempurna untuk setiap lingkungan.

Mulailah dengan satu profil dan bermain-main dengan pengaturan. Hasilkan beban kerja pengujian seperti produksi yang baik dan ukur metrik yang penting bagi bisnis Anda.

Ubah satu hal pada satu waktu dan catat setiap hasil di setiap iterasi. Setelah selesai, tinjau hasil dan pilih pengaturan yang memberikan hasil terbaik. Itulah profil ideal Anda yang disetel.

suprjami
sumber
Punya tautan ke pembicaraan Shak & Larry?
Aaron Copley
2
Saya telah menambahkan tautan video ke jawaban saya.
suprjami