想测试指定文件个数的小文件是比如217K,1W个文件,进行到100多时会报,反复尝试都如此
FATAL: Too large position discovered in request!
后面想了估计跟block-size有关,估计每个文件的大小必须是blocksize的整数倍才行。尝试了一下,果然如此。
sysbench --test=fileio --num-threads=10 --file-num=10000 --file-block-size=8K --file-total-size=2240000K --file-test-mode=rndrd 【prepare, run, cleanup】
其它相关问题
另外,公司的机器上limits -n增加了最大限制,需要修改一下/etc/security/limits.conf才能ulimit -n配置才能生效
sudo vi /etc/security/limits.conf
* - nofile 463840
非root用户, echo 3 > /proc/sys/vm/drop_caches和sudo echo 3 > /proc/sys/vm/drop_caches都不行,只能手工sudo vi /proc/sys/vm/drop_caches
另外,sudo ulimit找不到路径,想要改root用户下的ulimit需要sudo /bin/bash -c 'ulimit -n 400000' 。。。

本文详细介绍了在进行大规模文件IO测试时遇到的错误,包括文件大小与block-size的关系,以及如何调整系统限制以解决ulimit问题。通过修改limits.conf和使用特定参数配置sysbench,成功解决了文件数量和大小限制导致的问题。

3165

被折叠的 条评论
为什么被折叠?



