Testing SFS Turbo Performance
Fio is an open-source I/O tester. You can use fio to test the throughput and IOPS of SFS Turbo file systems.
Prerequisites
Fio has been installed on the cloud server. You can download fio from the official website or GitHub.
Note and Description
The test performance depends on the network bandwidth between the client and server, as well as the capacity of the file system.
Installing fio
The following uses a Linux CentOS system as an example:
File System Performance Data
Table 1 lists the performance metrics of SFS Turbo file systems including IOPS and throughput.
Parameter |
20 MB/s/TiB |
40 MB/s/TiB |
125 MB/s/TiB |
250 MB/s/TiB |
500 MB/s/TiB |
1,000 MB/s/TiB |
---|---|---|---|---|---|---|
Max. capacity |
1 PB |
1 PB |
1 PB |
1 PB |
1 PB |
1 PB |
Max. IOPS |
250,000 |
250,000 |
1 million |
1 million |
4 million You can submit a service ticket to get up to 10 million of IOPS. |
4 million You can submit a service ticket to get up to 10 million of IOPS. |
Max. throughput |
8 GB/s You can submit a service ticket to get up to 20 Gbit/s of throughput. |
8 GB/s You can submit a service ticket to get up to 20 Gbit/s of throughput. |
20 GB/s You can submit a service ticket to get up to 100 Gbit/s of throughput. |
20 GB/s You can submit a service ticket to get up to 100 Gbit/s of throughput. |
80 GB/s You can submit a service ticket to get up to 200 Gbit/s of throughput. |
80 GB/s You can submit a service ticket to get up to 200 Gbit/s of throughput. |
IOPS calculation formula |
IOPS = Min. (250,000, 600 x Capacity) Capacity unit: TB |
IOPS = Min. (250,000, 1,200 x Capacity) Capacity unit: TB |
IOPS = Min. (1,000,000, 6,000 x Capacity) Capacity unit: TB |
IOPS = Min. (1,000,000, 12,500 x Capacity) Capacity unit: TB |
IOPS = Min. (4,000,000, 25,000 x Capacity) Capacity unit: TB |
IOPS = Min. (4,000,000, 50,000 x Capacity) Capacity unit: TB |
Common Test Configuration Examples
Test results provided in the following examples are obtained using a single ECS. You are advised to use multiple ECSs to test the SFS Turbo performance.
In the following examples, the Performance type and cloud servers with the following specifications are used for illustration.
Specifications: General computing-plus | c3.xlarge.4 | 4 vCPUs | 16 GB
Image: CentOS 7.5 64-bit
- fio command:
fio --randrepeat=1 --ioengine=libaio --name=test -output=output.log --direct=1 --filename=/mnt/nfs/test_fio --bs=1M --iodepth=128 --size=10240M --readwrite=rw --rwmixwrite=30 --fallocate=none
Variable /mnt/nfs/test_fio is the location of the file to be tested. The location must be specific to the file name, which is the test_fio file in the /mnt/nfs directory in this example. Set it based on the site requirements.
- fio result:
- fio command:
fio --randrepeat=1 --ioengine=libaio --name=test -output=output.log --direct=1 --filename=/mnt/nfs/test_fio --bs=1M --iodepth=128 --size=10240M --readwrite=rw --rwmixwrite=70 --fallocate=none
Variable /mnt/nfs/test_fio is the location of the file to be tested. The location must be specific to the file name, which is the test_fio file in the /mnt/nfs directory in this example. Set it based on the site requirements.
- fio result:
Sequential read IOPS
- fio command:
fio --ioengine=libaio --direct=1 --fallocate=none --time_based=1 --group_reporting=1 --name=iops_fio --directory=/mnt/sfs-turbo/ --rw=read --bs=4k --size=1G --iodepth=128 --runtime=120 --numjobs=10
Variable /mnt/sfs-turbo/ is the location of the file to be tested. The location must be specific to the file name. Set it to the actual file name.
- fio result:
Random read IOPS
- fio command:
fio --ioengine=libaio --direct=1 --fallocate=none --time_based=1 --group_reporting=1 --name=iops_fio --directory=/mnt/sfs-turbo/ --rw=randread --bs=4k --size=1G --iodepth=128 --runtime=120 --numjobs=10
Variable /mnt/sfs-turbo/ is the location of the file to be tested. The location must be specific to the file name. Set it to the actual file name.
- fio result:
Sequential write IOPS
- fio command:
fio --ioengine=libaio --direct=1 --fallocate=none --time_based=1 --group_reporting=1 --name=iops_fio --directory=/mnt/sfs-turbo/ --rw=write --bs=4k --size=1G --iodepth=128 --runtime=120 --numjobs=10
Variable /mnt/sfs-turbo/ is the location of the file to be tested. The location must be specific to the file name. Set it to the actual file name.
- fio result:
Random write IOPS
- fio command:
fio --ioengine=libaio --direct=1 --fallocate=none --time_based=1 --group_reporting=1 --name=iops_fio --directory=/mnt/sfs-turbo/ --rw=randwrite --bs=4k --size=1G --iodepth=128 --runtime=120 --numjobs=10
Variable /mnt/sfs-turbo/ is the location of the file to be tested. The location must be specific to the file name. Set it to the actual file name.
- fio result:
Sequential read bandwidth
- fio command:
fio --randrepeat=1 --ioengine=libaio --name=test -output=output.log --direct=1 --filename=/mnt/sfs-turbo/test_fio --bs=1M --iodepth=128 --size=10240M --readwrite=read --fallocate=none
Variable /mnt/sfs-turbo/test_fio is the location of the file to be tested. The location must be specific to the file name, which is the test_fio file in the /mnt/sfs-turbo directory in this example. Set it based on the site requirements.
- fio result:
Random read bandwidth
- fio command:
fio --ioengine=libaio --direct=1 --fallocate=none --time_based=1 --group_reporting=1 --name=iops_fio --directory=/mnt/sfs-turbo/ --rw=randread --bs=1M --size=10G --iodepth=128 --runtime=120 --numjobs=1
Variable /mnt/sfs-turbo/ is the location of the file to be tested. The location must be specific to the file name. Set it to the actual file name.
- fio result:
Sequential write bandwidth
- fio command:
fio --ioengine=libaio --direct=1 --fallocate=none --time_based=1 --group_reporting=1 --name=iops_fio --directory=/mnt/sfs-turbo/ --rw=write --bs=1M --size=10G --iodepth=128 --runtime=120 --numjobs=1
Variable /mnt/sfs-turbo/ is the location of the file to be tested. The location must be specific to the file name. Set it to the actual file name.
- fio result:
Random write bandwidth
- fio command:
fio --ioengine=libaio --direct=1 --fallocate=none --time_based=1 --group_reporting=1 --name=iops_fio --directory=/mnt/sfs-turbo/ --rw=randwrite --bs=1M --size=10G --iodepth=128 --runtime=120 --numjobs=1
Variable /mnt/sfs-turbo/ is the location of the file to be tested. The location must be specific to the file name. Set it to the actual file name.
- fio result:
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot