我的目标是针对故意缓慢的文件系统运行测试,以测试混乱存储方案中的性能指标。同样的意义上说,有很多方法可以用容器中的cgroup限制内存和cpu,我认为是否存在可以强加的io限制。
答案 0 :(得分:1)
FUSE给出了一条路径。我在https://github.com/fntlnz/fuse-example.git克隆了示例,并在战略位置向sleep()
添加了fuse-example.c
来电:
21 if (strcmp(path, filepath) == 0) {
22 stbuf->st_mode = S_IFREG | 0777;
23 stbuf->st_nlink = 1;
24 stbuf->st_size = strlen(filecontent);
25 sleep(1); // Right here
26 return 0;
27 }
然后我装了它:
./bin/fuse-example -d -s -f /tmp/example
并试了一下:
% cd /tmp/example
% time cat file
I'm the content of the only file available there
cat file 0.00s user 0.00s system 0% cpu 1.008 total
%
虽然需要一点编码,但这条路线的一个优点是您可以完全控制文件系统的几乎所有显着属性和质量。