这个“grep”或“zgrep”命令的性能是否会因更多内存或更快的 CPU 而受益?

这个“grep”或“zgrep”命令的性能是否会因更多内存或更快的 CPU 而受益?

我有以下命令:

time grep -F -f 'in2.txt' test.fastq
time zgrep -F -f 'in2.txt' test.fastq.gz

大约有 30 个搜索词,搜索文件大小约为 5 GB。但是我注意到,在一台计算机上,完成搜索需要 3-5 倍以上的时间,这是在 Amazon 启动时。因此,我想知道是什么影响了速度?我应该启动具有更多内存或更快 CPU 速度的 ECS 吗?

答案1

CPU 和 I/O。如果您要搜索一组较小的(30 个相当小)术语,则最有可能受到 I/O 限制,并且可能受到 CPU 限制。您不会受到内存限制。

[恕我直言]

当然,正确的答案是测试它。您可以通过几种方式执行此操作,包括打开两个终端并在运行相关命令时运行“dstat”。如果需要几秒钟才能完成,您应该知道哪些资源已达到最大值(达到 100% 或某个稳定状态值),哪些资源没有达到最大值。

相关内容