Saya memiliki pertanyaan terkait tentang masalah ini, tetapi menjadi terlalu rumit dan terlalu besar, jadi saya memutuskan untuk membagi masalah menjadi NFS dan masalah lokal. Saya juga telah mencoba menanyakan hal ini di milis zfs-mendiskusikan tanpa banyak keberhasilan.
Penyalinan lambat antara direktori NFS / CIFS di server yang sama
Garis Besar: Bagaimana saya mengatur dan apa yang saya harapkan
- Saya memiliki kumpulan ZFS dengan 4 disk. 2TB RED dikonfigurasi sebagai 2 mirror yang bergaris (RAID 10). Di Linux, zfsonlinux. Tidak ada cache atau perangkat log.
- Data seimbang antar mirror (penting untuk ZFS)
- Setiap disk dapat membaca (raw w / dd) pada 147MB / detik secara paralel, memberikan throughput gabungan 588MB / detik.
- Saya mengharapkan sekitar 115MB / detik tulis, 138MB / detik baca dan 50MB / detik penulisan ulang data sekuensial dari masing-masing disk, berdasarkan tolok ukur dari disk RED 4TB serupa. Saya berharap tidak kurang dari 100MB / detik membaca atau menulis, karena disk apa pun dapat melakukannya hari ini.
- Saya pikir saya akan melihat utilisasi IO 100% pada semua 4 disk ketika membaca beban atau menulis data berurutan. Dan bahwa disk akan mengeluarkan lebih dari 100MB / detik sementara pada pemanfaatan 100%.
- Saya pikir pool akan memberi saya sekitar 2x menulis, 2x menulis ulang, dan 4x membaca kinerja lebih dari satu disk - apakah saya salah?
- BARU Saya pikir ext4 zvol pada kolam yang sama akan memiliki kecepatan yang sama dengan ZFS
Apa yang sebenarnya saya dapatkan
Saya menemukan kinerja membaca kolam tidak setinggi yang saya harapkan
bonnie ++ benchmark di pool dari beberapa hari yang lalu
Versi 1.97 ------ Output Sekuensial ------ - Input Penting- --Random- Concurrency 1 -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Ukuran Mesin K / detik% CP K / detik% CP K / detik% CP K / detik% CP K / detik% CP / detik% CP igor 63G 99 99 232132 47 118787 27 336 97 257072 22 92.7 6
Bonnie ++ pada drive RED 4TB tunggal itu sendiri di zpool
Versi 1.97 ------ Output Sekuensial ------ - Input Penting- --Random- Concurrency 1 -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Ukuran Mesin K / detik% CP K / detik% CP K / detik% CP K / detik% CP K / detik% CP / detik% CP igor 63G 101 99 115288 30 49781 14 326 97 138250 13 111.6 8
Menurut ini, kecepatan membaca dan menulis ulang sesuai berdasarkan hasil dari drive RED 4TB tunggal (mereka ganda). Namun, kecepatan baca yang saya harapkan sekitar 550MB / detik (4x kecepatan drive 4TB) dan setidaknya saya berharap sekitar 400MB / detik. Sebaliknya saya melihat sekitar 260MB / detik
Bonnie ++ di kolam dari sekarang, sambil mengumpulkan informasi di bawah ini. Tidak persis sama dengan sebelumnya, dan tidak ada yang berubah.
Versi 1.97 ------ Output Sekuensial ------ - Input Penting- --Random- Concurrency 1 -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Ukuran Mesin K / detik% CP K / detik% CP K / detik% CP K / detik% CP K / detik% CP / detik% CP igor 63G 103 99 207518 43 108810 24 342 98 302350 26 256,4 18
zpool iostat saat menulis. Sepertinya saya baik-baik saja.
bandwidth operasi kapasitas kumpulan kolam baca baca tulis baca tulis -------------------------------------------- ----- - ---- ----- ----- ----- ----- pool2 1.23T 2.39T 0 1.89K 1.60K 238M mirror 631G 1.20T 0 979 1.60K 120M ata-WDC_WD20EFRX-68AX9N0_WD-WMC300004469 - - 0 1007 1,60K 124M ata-WDC_WD20EFRX-68EUZN0_WD-WCC4MLK57MVX - - 0 975 0 120M mirror 631G 1.20T 0 953 0 117M ata-WDC_WD20EFRX-68AX9N0_WD-WCC1T0429536 - - 0 1.01K 0 128M ata-WDC_WD20EFRX-68EUZN0_WD-WCC4M0VYKFCE - - 0 953 0 117M
zpool iostat selama penulisan ulang. Sepertinya tidak masalah bagi saya, saya pikir .
bandwidth operasi kapasitas kumpulan kolam baca baca tulis baca tulis -------------------------------------------- ----- - ---- ----- ----- ----- ----- pool2 1.27T 2.35T 1015 923 125M 101M mirror 651G 1.18T 505 465 62.2M 51.8M ata-WDC_WD20EFRX-68AX9N0_WD-WMC300004469 - - 198 438 24,4M 51,7M ata-WDC_WD20EFRX-68EUZN0_WD-WCC4MLK57MVX - - 306 384 37,8M 45,1M mirror 651G 1.18T 510 457 63.2M 49.6M ata-WDC_WD20EFRX-68AX9N0_WD-WCC1T0429536 - - 304 371 37.8M 43.3M ata-WDC_WD20EFRX-68EUZN0_WD-WCC4M0VYKFCE - - 206 423 25.5M 49.6M
Di sinilah saya bertanya-tanya apa yang terjadi
zpool iostat selama membaca
bandwidth operasi kapasitas kumpulan kolam baca baca tulis baca tulis -------------------------------------------- ----- - ---- ----- ----- ----- ----- pool2 1.27T 2.35T 2.68K 32 339M 141K mirror 651G 1.18T 1.34K 20 169M 90.0K ata-WDC_WD20EFRX-68AX9N0_WD-WMC300004469 - - 748 9 92,5M 96,8K ata-WDC_WD20EFRX-68EUZN0_WD-WCC4MLK57MVX - - 623 10 76,8M 96,8K mirror 651G 1.18T 1.34K 11 170M 50.8K ata-WDC_WD20EFRX-68AX9N0_WD-WCC1T0429536 - - 774 5 95,7M 56,0K ata-WDC_WD20EFRX-68EUZN0_WD-WCC4M0VYKFCE - - 599 6 74.0M 56.0K
iostat -x selama operasi baca yang sama. Perhatikan bagaimana IO% tidak pada 100%.
Perangkat: rrqm / s wrqm / sr / sw / s rkB / s wkB / s avgrq-sz avgqu-sz menunggu r_await w_await svctm% util sdb 0.60 0.00 661.30 6.00 83652.80 49.20 250.87 2.32 3.47 3.46 4.87 1.20 79.76 sdd 0.80 0.00 735.40 5.30 93273.20 49.20 251.98 2.60 3.51 3.51 4.15 1.20 89.04 sdf 0,50 0,00 656,70 3.80 83196.80 31.20 252.02 2.23 3.38 3.36 6.63 1.17 77.12 sda 0.70 0.00 738.30 3.30 93572.00 31.20 252.44 2.45 3.33 3.31 7.03 1.14 84.24
zpool dan pengaturan dataset uji:
- atime tidak aktif
- kompresi tidak aktif
- ashift adalah 0 (deteksi otomatis - pemahaman saya adalah bahwa ini ok)
- zdb mengatakan disk semua ashift = 12
- modul - opsi zfs zvol_threads = 32 zfs_arc_max = 17179869184
- sync = standar
Edit - 30 Okt 2015
Saya melakukan beberapa pengujian lagi
- dataset bonnie ++ w / recordsize = 1M = 226MB tulis, 392MB baca jauh lebih baik
- dataset dd w / record size = 1M = 260MB tulis, 392MB baca jauh lebih baik
- zvol w / ext4 dd bs = 1M = 128MB tulis, 107MB baca kenapa begitu lambat?
- proses 2 dataset secara paralel = 227MB tulis, 396MB baca
- dd direct io tidak membuat perbedaan pada dataset dan pada zvol
Saya jauh lebih bahagia dengan kinerja dengan ukuran catatan meningkat. Hampir setiap file di kolam renang lebih dari 1MB. Jadi saya akan membiarkannya seperti itu. Disk masih belum mendapatkan utilisasi 100%, yang membuat saya bertanya-tanya apakah masih bisa lebih cepat. Dan sekarang saya bertanya-tanya mengapa kinerja zvol sangat buruk, karena itu adalah sesuatu yang saya (ringan) gunakan.
Saya senang memberikan informasi yang diminta dalam komentar / jawaban. Ada juga banyak informasi yang diposting di pertanyaan saya yang lain: Penyalinan lambat antara direktori NFS / CIFS di server yang sama
Saya sepenuhnya sadar bahwa saya mungkin tidak mengerti sesuatu dan bahwa ini mungkin tidak menjadi masalah sama sekali. Terima kasih sebelumnya.
Untuk memperjelasnya, pertanyaannya adalah: Mengapa ZFS pool tidak secepat yang saya harapkan? Dan mungkin ada yang salah?
dd
untuk melihat kinerja seperti apa yang Anda dapatkan. Anda mungkin juga ingin mencoba IO langsung saat Anda naik ke kecepatan streaming di mana buffering ganda dari caching dapat memengaruhi kinerja. FWIW, 3/4 dari total kinerja teoritis membaca 4-disk mentah baik.
%util
nomor Anda .