<div dir="ltr">Hello, I have a production script that do read operations to a lot of small files. I read that one can gain performance boost with small files by using a loop device on top of Lustre. So a created 500 GB file striped across all of my OSTs(which are 8). I formatted the file with ext2 fs, and mounted it on a client. Just for the sake of testing a simple bash script finds all files with a given file type and cat the first 10 lines in /dev/null. <div>
<br></div><div>When I run the script on the Lustre cluster I get :</div><div><br></div><div><div>time sh test.sh</div><div><br></div><div>real    1m16.804s</div><div>user    0m2.539s</div><div>sys     0m5.363s</div></div>
<div><br></div><div>If I immediately re-run the script the time is :</div><div><br></div><div><div>real    0m12.158s</div><div>user    0m2.218s</div><div>sys     0m5.430s</div></div><div> </div><div><br></div><div>There are 5406 files that meet the filetype criteria.</div>
<div><br></div><div>When I run the script on the mounted loop device I get :</div><div><br></div><div><div>real    2m30.177s</div><div>user    0m2.290s</div><div>sys     0m4.880s</div></div><div><br></div><div>And immediate re-run gives me :</div>
<div><br></div><div><div>real    0m7.810s</div><div>user    0m2.187s</div><div>sys     0m5.360s</div></div><div><br></div><div>I`m usig lustre-2.4.0-2.6.32_358.6.2.el6_lustre.g230b174.x86_64_gd3f91c4. Also set all of "small files" optimizations like, no striping for the dirs containing the small files, max_dirty_mb=256, max_rpcs_in_flight=32, staahead=8192 and lnet.debug=0.</div>
<div>Is it normal to get two times slower access times with the mounted loop device ??</div><div><br></div><div><br></div></div>