Benchmarking EXT4, XFS and JFS
Hey folks,
I've been wanting to do a comparison of my own on filesystem performance for a while now so I chose 2 popular contesters (EXT4 and XFS) and one rather unpopular (JFS) to benchmark.
This is how I did it:
A. Install all tools
Mongo
1. Add the file /etc/yum.repos.d/mongodb-org-3.4.repo with contents:
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
2. Install Mongo
yum -y -q install mongodb-org
3. Prevent Mongo from starting on reboots:
systemctl disable mongod
4. Stop Mongo for now (in case it's running)
systemctl stop mongod
5. Edit the /etc/mongod.conf file and change the line:
dbPath: /var/lib/mongo
to:
dbPath: /media/mongo
Percona MySQL 5.6
1. Install the repository:
yum -y -q install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm
2. Install the Percona Server package:
yum -y -q install Percona-Server-server-56
3. Edit the /etc/my.cnf and change the line:
datadir=/var/lib/mysql
to:
datadir=/media/mysql
4. Prevent MySQL from starting on reboots
systemctl disable mysqld
5. Stop MySQL for now (in case it's running)
systemctl stop mysqld
FIO
1. Install the EPEL repository:
yum -y -q install epel-release
2. Install FIO:
yum -y -q install fio
jfs
Follow my blog post here: http://lampros.chaidas.com/post/installing-jfs-and-mkfs-jfs-on-centos-7/ and install both the kmod-jfs and the jfs-tools.
YSCB (Yahoo! Cloud System Benchmark)
Follow my blog post here http://lampros.chaidas.com/post/installing-mongo-3-4-on-centos-7-and-a-look-at-benchmarking-it-using-yscb-yahoo-cloud-system-benchmark/ to install the Yahoo! Cloud System Benchmark.
Install the XFS tools
yum -y -q install xfsprogs
B. Connect a high performance Packet.net volume to your server.
Use the script packet-block-storage-attach - this has been provided by Packet.net to make attaching the volumes easier - I found it to work great!
packet-block-storage-attach
When the script is done you should see similar output to this:
Block device /dev/mapper/volume-bce5c3a6 is available for use
C. Let the benchmarks begin!