forked from Chia-Network/chia-blockchain
-
Notifications
You must be signed in to change notification settings - Fork 2
Storage Benchmarks
Edward Teach edited this page Feb 28, 2022
·
1 revision
To have reproducible results the aim should be to limit caching effects. For that:
- Test data should be forced to storage and larger than flash drive's internal caches
- Block caches should be emptied between tests
sudo apt update
sudo apt install fio
Save this file as a job file called "chinilla.fio" or whatever you want, and change filename to the path of the drive or RAID volume that you want to test
[global]
bs=128K
iodepth=256
direct=1
ioengine=libaio
group_reporting
time_based
name=chinilla
log_avg_msec=1000
bwavgtime=1000
filename=/<yourRAID>/fiotest.tmp
size=100G
[rd_qd_256_128k_1w]
stonewall
bs=128k
iodepth=256
numjobs=1
rw=read
runtime=60
write_bw_log=seq_read_bw.log
[wr_qd_256_128k_1w]
stonewall
bs=128k
iodepth=256
numjobs=1
rw=write
runtime=60
write_bw_log=seq_write_bw.log
run sudo fio chinilla.fio
This assumes RHEL stack Linux.
sudo yum update -y
sudo yum groupinstall "Development Tools" -y
cd /opt
wget http://www.iozone.org/src/current/iozone3_490.tar
tar -xvf iozone3_490.tar
cd iozone3_490/src/current
make linux-AMD64
- Assume the test drive or volume is mounted as /chinilla/scratch/disk01
- -i 0=write/rewrite
- -i 1=read/re-read
- -i 2=random-read/write
- -i 8=random_mix
- -e Include flush (fsync,fflush) in the timing calculations
- -r # record size in Kb
- -s # file size in GB
- -U Mount point to remount between tests, this option will clear the block caches between tests. For this to work, mounting of the disk/volume needs to be configured in /etc/fstab.
/opt/iozone3_490/src/current/iozone -e -r 256 -s 32G -i 0 -i 1 -i 2 -i 8 -f /chinilla/scratch/disk01/tfile -U /chinilla/scratch/disk01
- Assume the test drive or volume is mounted as /chinilla/scratch/disk01
- -I Use DIRECT I/O for all file operations. Tells the filesystem that all operations are to bypass the buffer cache and go directly to disk. This also will use VX_DIRECT on VxFS, and O_DIRECT on Linux, and directio() on Solaris.
Chinilla Network - Green money for a digital world.
- Home
- Beginners Guide
- Install instructions
- Quick Start Guide
- FAQ - Frequently Asked Questions
- Pooling FAQ
- Pooling User Guide
- Chinilla Project FAQ
- Plotting Basics
- Alternate Plotters
- Plot Sizes (k-sizes)
- CLI Commands Reference
- Windows Tips & Tricks
- How to Check if Everything is Working (or Not)
- SSD Endurance - Info on SSD's and plotting
- Reference Plotting Hardware
- Reference Farming Hardware
- Farming on Many Machines
- Good Security Practices on Many Machines
- Chinillalisp Documentation (Official)
- Chinillalisp Notes
- Timelords and Cluster Timelords
- Release Notes
- RPC Interfaces
- Resolve Sync Issues - Port 8444