tac
命令( reversed )可cat
用于向后读取文件,就像cat
从开头读取文件一样。我想知道,这有多有效。它是否必须从头开始读取整个文件,然后在到达末尾时反转一些内部缓冲区?
我打算将它用于一些经常调用的监视脚本,该脚本需要检查数百兆字节大小的文件的最后 n 行。但是,我不希望通过一遍又一遍地读取文件(大约每分钟一次左右)来导致沉重的 I/O 负载或用其他无用的信息填充缓存空间。
任何人都可以阐明该命令的效率吗?
tac
命令( reversed )可cat
用于向后读取文件,就像cat
从开头读取文件一样。我想知道,这有多有效。它是否必须从头开始读取整个文件,然后在到达末尾时反转一些内部缓冲区?
我打算将它用于一些经常调用的监视脚本,该脚本需要检查数百兆字节大小的文件的最后 n 行。但是,我不希望通过一遍又一遍地读取文件(大约每分钟一次左右)来导致沉重的 I/O 负载或用其他无用的信息填充缓存空间。
任何人都可以阐明该命令的效率吗?
我需要了解不同级别的磁盘 I/O 对我的应用程序的影响。为此,我正在寻找一种在基准模式下运行应用程序时生成不同数量的磁盘负载的方法。
我们目前收到用户关于性能缓慢的投诉,但我们获得的信息非常少,因此我们还无法确定问题的确切位置。I/O 是主要嫌疑人,但我们想确定一下。
对于初学者来说,我可以用一些东西来创建可配置的连续读取或写入负载,例如从/dev/zero
tmp 文件或其他东西。我知道我可以使用dd
,但这会立即将磁盘推到极限,而我想要某种节流阀来随着后台流量的增加进行不同的测试运行。
为了让事情更具挑战性,它必须在 RedHat9 机器上运行,这意味着内核 2.4。所以理想情况下,这将是某种使用默认工具的脚本。
我会对在具有多个服务器访问它的集群文件系统上使用 CVS 的任何经验感兴趣。我想这类似于像 SourceForge 这样的供应商所做的。
目前,我们使用基于 RHEL 的 CVS 服务器和 SAN 上的 ext3 存储库文件系统。
这个想法是使用多台机器来处理来自客户端的 CVS 连接,这些客户端都在快速 SAN 上的同一文件系统上工作。这种冗余可以同时用于负载平衡和故障转移目的(例如使用循环 DNS,如果其中一个服务器发生故障,可以重新配置)。
由于各种原因,SVN 不是替代品,请不要开始讨论 CVS/SVN。