[dm-devel] [PATCH 0/9] dm-crypt patches
Marian Csontos
mcsontos at redhat.com
Tue Apr 8 21:29:39 UTC 2014
On 04/08/2014 05:25 PM, Ondrej Kozina wrote:
> Hi,
>
> I ran all tests again and with new version and everything passed even on
> raid5 back end, so it's right time to paste here some performance results:
I have found few strange numbers there I have difficulties to understand
and wonder what maybe the cause of these discrepancies. Could you have a
look?
>
>
> Requirements:
> ------------
> http://okozina.fedorapeople.org/dmcrypt-tests.tar.xz
> compiled fio package
>
> Performance tests are based on script in subdirectory 1/ in
> http://okozina.fedorapeople.org/dmcrypt-tests.tar.xz
>
> The result tables were aggregated from output of following fio command:
>
> fio --output=log --latency-log=log --bandwidth-log=log \
> --name=global --rw=$3 --size=1G --bsrange=1k-128k \
> --filename=$1 \
> --name=job1 --name=job2 --name=job3 --name=job4 \
> --end_fsync=1
>
> $1 - test device
> $3 - read/write mode see explanation of TEST NAME column below
>
> HW:
> ---
> 2-socket machine Intel(R) Xeon(TM) CPU 3.40GHz (4 logical CPUs, without
> HW acceleration for AES!)
> 4GB RAM
> 4x SEAGATE ST336753LC (rotational drive)
>
> One disk was used for system data, the rest for testing
>
> Explanation for tables below:
> -----------------------------
> In column TEST NAME:
>
> - "disk_nocrypt" stands for pure device w/o any encryption in effect
> (it's single device or raid5 device using md)
> - "zero" stands for encryption over dm-zero target. Basically this test
> is trying to measure the performance of dm-crypt core alone.
> - "disk" is real device (same as in "disk_nocrypt") with encryption set
> up over it.
>
> following suffixes after dash in TABLE NAME column:
> (all correspond to permissible values for fio --rw option)
>
> - read = sequential reads
> - write = sequential writes
> - randread = random reads
> - randwrite = random writes
> - rw = sequential mixed reads and writes
> - randrw = random mixed reads and writes
>
> Any mixed option above has separate line for aggregated READs and WRITEs
> operations.
>
> For encryption I used aes-xts-plain64 cipher, but please note that the
> machine doesn't provide HW acceleration for AES algorithm.
>
> The column AGGRB_A stands for results with vanilla 3.14
> The column AGGRB_B stands for results with all Mikulas's patches applied.
>
> The interesting results are prefixed with "zero-" and "disk-". The
> "disk_nocrypt-" results are just for reference to see real limits of HW.
>
> The "zero-" prefixed lines doesn't require to be published multiple
> times but it can serve to demonstrate scatter of results even on idling
> machine (except for running tests).
>
> The single device tests:
>
> TEST NAME OPERATION AGGRB_A KB/s AGGRB_B KB/s DIFF A->B
> ------------------------- --------- ------------ ------------ ---------
> disk_nocrypt-read READ 260289 259339 -0.36 %
> disk_nocrypt-write WRITE 242950 242922 -0.01 %
> disk_nocrypt-randread READ 53095 52195 -1.70 %
> disk_nocrypt-randwrite WRITE 193665 194482 0.42 %
> disk_nocrypt-rw READ 64050 64037 -0.02 %
> disk_nocrypt-rw WRITE 64581 64567 -0.02 %
> disk_nocrypt-randrw READ 16792 17235 2.64 %
> disk_nocrypt-randrw WRITE 16796 17239 2.64 %
> zero-read READ 187614 309748 65.10 %
> zero-write WRITE 240871 332301 37.96 %
> zero-randread READ 299024 325476 8.85 %
^ Wow! Randread so much faster
than sequential that I wonder if it is correct...
> zero-randwrite WRITE 108506 123805 14.10 %
> zero-rw READ 81694 106583 30.47 %
> zero-rw WRITE 82370 107465 30.47 %
> zero-randrw READ 60794 85574 40.76 %
> zero-randrw WRITE 60810 85597 40.76 %
> disk-read READ 232603 238258 2.43 %
> disk-write WRITE 119649 218601 82.70 %
> disk-randread READ 52578 52249 -0.63 %
> disk-randwrite WRITE 153878 173487 12.74 %
^ And disk randwrite faster than
sequential. And three times faster than randread suggesting it may be
writing to cache.
> disk-rw READ 61341 64629 5.36 %
> disk-rw WRITE 61849 65164 5.36 %
> disk-randrw READ 16251 15229 -6.29 %
> disk-randrw WRITE 16255 15233 -6.29 %
>
>
> md raid5 with 64KiB chunk size as basking device:
>
> TEST NAME OPERATION AGGRB_A KB/s AGGRB_B KB/s DIFF A->B
> ------------------------- --------- ------------ ------------ ---------
> disk_nocrypt-read READ 391405 390276 -0.29 %
> disk_nocrypt-write WRITE 209736 210272 0.26 %
> disk_nocrypt-randread READ 84644 84319 -0.38 %
> disk_nocrypt-randwrite WRITE 30651 29174 -4.82 %
> disk_nocrypt-rw READ 64533 64472 -0.09 %
> disk_nocrypt-rw WRITE 65068 65005 -0.10 %
> disk_nocrypt-randrw READ 18586 18827 1.30 %
> disk_nocrypt-randrw WRITE 18591 18832 1.30 %
> zero-read READ 190641 308042 61.58 %
> zero-write WRITE 343936 306533 -10.87 %
^ Here the write is much much
faster than reads and the -10% looks more like an error than performance
regression
> zero-randread READ 298322 326007 9.28 %
^ Again randread much faster than
sequential
> zero-randwrite WRITE 115462 122193 5.83 %
> zero-rw READ 82092 114980 40.06 %
> zero-rw WRITE 82771 115932 40.06 %
> zero-randrw READ 69730 90008 29.08 %
> zero-randrw WRITE 69748 90032 29.08 %
> disk-read READ 283207 264641 -6.56 %
^ Disk read being so faster than
dm-zero looks odd...
> disk-write WRITE 152088 176431 16.01 %
> disk-randread READ 82021 81720 -0.37 %
> disk-randwrite WRITE 20553 23880 16.19 %
> disk-rw READ 56833 59059 3.92 %
> disk-rw WRITE 57303 59548 3.92 %
> disk-randrw READ 15819 16726 5.73 %
> disk-randrw WRITE 15823 16730 5.73 %
>
> md raid5 with 512KiB chunk size as basking device:
>
> TEST NAME OPERATION AGGRB_A KB/s AGGRB_B KB/s DIFF A->B
> ------------------------- --------- ------------ ------------ ---------
> disk_nocrypt-read READ 463151 447822 -3.31 %
> disk_nocrypt-write WRITE 149476 149866 0.26 %
> disk_nocrypt-randread READ 99205 98393 -0.82 %
> disk_nocrypt-randwrite WRITE 34422 34535 0.33 %
> disk_nocrypt-rw READ 75898 77132 1.63 %
> disk_nocrypt-rw WRITE 76527 77770 1.62 %
> disk_nocrypt-randrw READ 21886 21928 0.19 %
> disk_nocrypt-randrw WRITE 21892 21934 0.19 %
> zero-read READ 189735 305173 60.84 %
> zero-write WRITE 289402 289082 -0.11 %
> zero-randread READ 300373 317061 5.56 %
> zero-randwrite WRITE 128128 123838 -3.35 %
> zero-rw READ 81956 114558 39.78 %
> zero-rw WRITE 82635 115506 39.78 %
> zero-randrw READ 74406 86589 16.37 %
> zero-randrw WRITE 74426 86612 16.37 %
> disk-read READ 333251 399153 19.78 %
^ It looks odd - this is so much
faster than dm-zero and I wonder whether dm-zero is not fast enough or
the disk tests are hitting cache instead of disk and whether all the
zero-* tests are meaningful
> disk-write WRITE 139703 158574 13.51 %
^ Here dm-crypt is
faster than raw disk
> disk-randread READ 93669 92408 -1.35 %
> disk-randwrite WRITE 22994 26520 15.33 %
> disk-rw READ 63573 73389 15.44 %
> disk-rw WRITE 64099 73996 15.44 %
> disk-randrw READ 19045 19617 3.00 %
> disk-randrw WRITE 19050 19622 3.00 %
>
> Ondrej
>
> --
> dm-devel mailing list
> dm-devel at redhat.com
> https://www.redhat.com/mailman/listinfo/dm-devel
More information about the dm-devel
mailing list