I wanted to check the performance of filesystems of my newly purchased VPS and compare it to the old one, the results surprised me though and I don't know how to analyse them.
I picked bonnie++
to conduct a test using: bonnie++ -d /tmp -u root -r 1024
.
Results for VPS #1: 1vCPU, 2GB RAM, KVM, Raid 10 SSD:
Version 1.97 ------Sequential Output------ --Sequential Input- --Random-
Concurrency 1 -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
vps1 2G 1207 99 552273 58 122473 11 4304 99 183244 8 2234 20
Latency 8463us 16319us 166ms 2585us 9330us 10843us
Version 1.97 ------Sequential Create------ --------Random Create--------
vps1 -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
16 +++++ +++ +++++ +++ +++++ +++ +++++ +++ +++++ +++ +++++ +++
Latency 5032us 463us 532us 137us 33us 270us
Results for VPS #2: 3vCPU, 4GB RAM, OpenVZ, RAID 10 SSD or PCIe SSD:
Version 1.97 ------Sequential Output------ --Sequential Input- --Random-
Concurrency 1 -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
vps2 2G 472 99 146096 20 253477 28 1833 99 3544857 99 +++++ +++
Latency 29757us 1423us 1882us 8627us 20us 10162us
Version 1.97 ------Sequential Create------ --------Random Create--------
vps2 -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
16 +++++ +++ +++++ +++ +++++ +++ +++++ +++ +++++ +++ +++++ +++
Latency 143us 971us 916us 166us 77us 43us
So basically bonnie++
says that:
- VPS #1 has ~539MB/s write speed & ~179MB/s read speed
- VPS #2 has ~143MB/s write speed & ~3462MB/s read speed
These results seem highly unlikely to be true, how would the other host achieve 20 times faster read speed?
Am I picking out the wrong columns or interpreting something incorrectly? Am I invoking bonnie++
with wrong parameters? Is there something else that I'm doing wrong?
Results for dd if=/dev/zero of=/root/testfile bs=1G count=1 oflag=dsync
:
VPS #1: 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 2.35854 s, 455 MB/s
VPS #2: 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 41.0872 s, 26.1 MB/s
Results for dd if=/root/testfile of=/dev/null
:
VPS #1: 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 1.67369 s, 642 MB/s
VPS #2: 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 2.16705 s, 495 MB/s