从 USB 内存驱动器运行 Linux 是否会导致 BIND 性能不佳?

从 USB 内存驱动器运行 Linux 是否会导致 BIND 性能不佳?

这可能也适用于任何其他与 BIND 类似的应用程序。目前,我的家庭服务器的 Linux 安装位于 USB 闪存驱动器上(出于好玩),与 SATA 驱动器相比,速度相当慢。

BIND 通过转发器查找查询时具体是如何工作的?结果是否缓存在硬盘上(或者在我的情况下是 USB 闪存驱动器上)?这会导致查询速度变慢吗?

我注意到,直接使用转发器时,查询速度有时会明显加快。我有一个 SATA 硬盘(用于存储),所以如果本地驱动器参与其中,也许我可以使用此驱动器来提高速度。

另一方面,我可能想象闪存驱动器会使查询速度变慢 - 我不完全确定如何证明/反驳这一点;如果有人知道实用的方法,请告知。

答案1

一般来说,如果您想知道某个进程/用户/文件正在做什么,而又不必全天候运行 lsof,您可以使用 auditctl。

假设您有一个较新的内核审计控制,这应该是一个简单的操作。(这是在 debianfu 中,如果您运行的是 redhat,则翻译为适当的)

# apt-get install auditd

确保其正在运行(/etc/init.d/auditd status)。

auditctl -a entry,always -F arch=b64 -S open -F pid=<process id>

如果你运行的是 32 位架构,请将 b64 替换为 b32,open 可以用任何系统调用或单词“all”替换

更多信息请阅读 auditctl 手册页。

答案2

通读此链接在这里有这样一段话:“清除缓存实际上是关闭名称服务器的副作用,因为 BIND 名称服务器只将缓存数据存储在内存中。”这意味着您的缓存正在从内存中消失。

机器有多少内存?机器上还有其他负载吗(比如 top 显示高负载值或某些东西占用了处理器?)

相关内容