Optimizing IOPS

Optimize EFS IOPS with multiple threads

This Lab will present 1,024 different file generation methods and compare the performance of each method.

  1. In the CLI, run the following command to create 1,024 non-byte files. Record the time to complete.
directory=$(echo $(uuidgen)| grep -o ".\\{6\\}$")
mkdir -p /efs/tutorial/touch/${directory}
time for i in {1..1024}; do
touch /efs/tutorial/touch/${directory}/test-1.3-$i;
done;

CloudFormation Template

  1. In CLI, run the following command to create 1,024 zero byte files using multiple threads. Record the time to complete.
directory=$(echo $(uuidgen)| grep -o ".\\{6\\}$")
mkdir -p /efs/tutorial/touch/${directory}
time seq 1 1024 | parallel --will-cite -j 128 touch /efs/tutorial/touch/${directory}/test-1.4-{}

CloudFormation Template

  1. In the CLI, run the following command to create 1,024 non-byte files in multiple directories using multiple streams. Record the time to complete.
directory=$(echo $(uuidgen)| grep -o ".\\{6\\}$")
mkdir -p /efs/tutorial/touch/${directory}/{1..32}
time seq 1 32 | parallel --will-cite -j 32 touch /efs/tutorial/touch/${directory}/{}/test1.5{1..32}

CloudFormation Template

  1. Access to Elastic File System

    • Select File systems
    • Select SID-efs

CloudFormation Template

  1. The best way to take advantage of Amazon EFS’s distributed data storage design is to use multiple threads and inodes in parallel.

CloudFormation Template