Tampaknya peningkatan CPU telah melampaui kecepatan disk untuk sementara waktu. Dengan asumsi sebuah desktop atau laptop dengan modern dual core Intel / AMD CPU dan disk SATA rata-rata tunggal, akan melakukan kompresi pada sebagian besar semua disk memberikan kinerja keseluruhan yang lebih baik? Pada dasarnya apakah pengurangan bandwidth disk lebih dari menebus peningkatan beban CPU? Saya yakin jawaban sebenarnya adalah "itu tergantung pada apa yang Anda lakukan". Dengan mengajukan pertanyaan ini, saya berharap ada seseorang yang telah melakukan pipa ini dan memberikan beberapa contoh atau jebakan.
10
Jawaban:
Ya, kompresi disk dapat memberikan kinerja yang lebih baik dalam kondisi tertentu:
Ada alasan baik ZFS dan Btrfs, keduanya desain lapangan hijau baru-baru ini, termasuk ketentuan untuk kompresi.
Di ruang HPC, ketika aplikasi sedang memeriksa dari memori ke disk, CPU sering tidak melakukan apa pun yang berguna sama sekali. Waktu ini pada dasarnya murni overhead. Setiap penggunaan CPU untuk mengurangi waktu ini adalah kemenangan.
sumber
Kompresi disk tidak akan pernah memberi Anda kinerja yang lebih baik.
Ini mungkin memberi Anda hampir tidak ada penalti karena CPU modern cepat, tapi itu hal yang sama sekali berbeda.
Anda menganggap harus mentransfer lebih sedikit data dari / ke disk dapat meningkatkan kinerja; tetapi transfer data besar hampir tidak pernah menjadi hambatan I / O: hambatan sebenarnya adalah mencari waktu dan latensi. Hard disk modern sangat cepat dalam transfer data berkelanjutan dengan file besar, yang memperlambatnya adalah transfer kecil dari seluruh disk.
Beberapa skenario:
sumber
Ada situasi tertentu yang sudah melakukan ini pada level per-aplikasi, seperti kompresi video - sistem yang tidak dapat membaca video berkualitas HD mentah dengan cukup cepat dari sebuah dsk sebagai gantinya dapat membaca informasi yang dikompresi dan memperluasnya menggunakan memori dan daya CPU . Tidak ada alasan ini tidak bisa juga menjadi kasus untuk situasi lain yang spesifik, tetapi ini dapat ditangani dengan baik di tingkat aplikasi sehingga metode kompresi yang digunakan dioptimalkan sesuai tujuannya.
Perlu diingat bahwa kinerja overhead dari dekompresi bermanfaat jika seluruh throughput meningkat, jadi idenya tidak boleh diberhentikan begitu saja - saya tidak berpikir kami siap untuk kinerja tujuan umum meningkatkan kompresi, tetapi secara teori memungkinkan untuk menukar sumber daya yang Anda miliki kelebihan (CPU & memori) dengan dorongan di tempat lain (total data dibaca dari hard-drive)
sumber
Anda menjawab pertanyaan Anda sendiri! itu tergantung memang jawabannya.
Generalisasi terbaik yang bisa saya buat adalah:
Jika Anda memiliki aplikasi database yang disk baca dibatasi , maka ya! kinerja lebih baik.
Saya tidak berpikir ini adalah kasus untuk sebagian besar kegiatan yang akan Anda lakukan di desktop / laptop.
Di domain saya (SQL Server), saya tahu bahwa pelaporan basis data di bawah beban baca yang banyak bisa mendapatkan kinerja yang lebih baik jika kompresi digunakan. Saya tahu hal yang sama berlaku untuk mysql.
Microsoft memiliki white paper pada fitur kompresi mereka di SQL Server 2008. Bukan pembacaan yang ringan kecuali DBA Anda, tapi inilah satu bagan yang mendukung generalisasi saya:
sumber
Kecepatan CPU selalu lebih cepat daripada kecepatan disk. IMHO, kompresi akan meningkatkan overhead dan karenanya menurunkan kinerja.
sumber
Saya membaca sesuatu yang mirip dengan kemarin mengenai OSX dan ini adalah kompresi sistem file - Pada dasarnya jawabannya berkisar pada apa yang ingin Anda kompres - dalam contoh ini dia berbicara tentang data "FAT"; struktur file, properti, metadata dll yang ketika disimpan bersama dapat dikompres untuk menghemat ruang dan dibaca ke dalam CPU lebih cepat daripada mencari kepala di semua tempat untuk menemukan data untuk setiap file ...
Bagaimanapun, patut dibaca jika Anda memikirkan hal-hal seperti :-p
Dari: http://arstechnica.com/apple/reviews/2009/08/mac-os-x-10-6.ars/3
sumber
Kompresi Disk Microsoft jelek. Ini hampir tidak dapat dibandingkan dalam rasio dengan metode ARJ dari 80-an. Tapi, bahkan kompresi Microsoft BISA memberikan kinerja yang lebih baik pada hard drive (laptop) yang sangat lambat. Terutama jika ada cukup RAM untuk cache tulis dan mencegah penulisan yang berlebihan.
Proses penulisan adalah titik lemah dari setiap metode kompresi yang diaktifkan akses-acak.
Jadi, jika Anda ingin drive terkompresi, Anda lebih baik pindah ke beberapa jenis Linux.
Kompresi disk juga sangat cocok untuk RAM-drive, tidak perlu memberi tahu Anda alasannya.
sumber
Ragu-ragu. Kompresi dan dekompresi melibatkan lebih dari sekedar disk dan CPU; khususnya akan ada banyak transfer data ke dan dari memori (selain overhead transfer standar tanpa kompresi) yang akan sangat merugikan dalam hal kesalahan halaman.
sumber
Singkatnya, tidak, Anda mungkin tidak akan mendapatkan kinerja.
Meskipun kompresi akan meningkatkan kinerja penyimpanan Anda, ini akan secara signifikan menurunkan kecepatan prosesor Anda. Mungkin karena jenis file yang akan Anda dekompresi. Jika Anda hanya berurusan dengan kata, excel, dan tipe file dasar lainnya, lanjutkan dan kompres. Jika file individual lebih besar, Anda akan mengorbankan lebih banyak waktu Anda.
sumber