我们发现我们的服务器(托管在 HDD 上)存在与该功能相关的瓶颈/dev/random
。我们希望操作系统使用/dev/random
SSD 驱动器上的瓶颈,而不是 HDD 上的瓶颈。
我们如何让服务器/dev/random
在操作系统以外的其他驱动器上使用?这是一个符号链接还是硬链接?
如能就如何实现这一点(使用来自不同安装服务器的随机服务器)提出任何建议,我们将不胜感激。
谢谢!
编辑 感谢 Scott 的耐心:]
SOLR 和 OS 在 HDD 上运行。我们在 SSD 卷上有一个 SOLR 索引。当我们通过 java 索引文件时,它会在 HDD 上运行并导致大量磁盘写入,因此我们希望将其移至 SSD(指令而不是读取)。
答案1
/dev/random
不是一个可以移动的文件,因为它根本不是一个“文件”。/dev/
实际上是一个“空”文件夹,里面的“文件”是由内核放在那里的,只存在于记忆中。当您“读取”或“写入”这些文件时,内核将拦截该调用,并且它根本不会触及硬盘。
这是一个典型的例子XY问题,请编辑您的问题以包含瓶颈的详细信息以及您如何发现它,以便我们能够为您提供解决该问题的“正确”方法的建议。
例如,如果您不需要加密强度高的随机数/dev/urandom
,那么速度会快得多,但它也比/dev/random
(但对您来说并不重要,请参阅底部的编辑) 更“可预测”。如果您解释您正在使用什么,/dev/random
我们可以帮助您决定这是否/dev/urandom
是一个好的选择。
编辑:做更多的研究,我已经发现这/dev/urandom
对于加密用途来说也是可以的,而且速度会快得多。
答案2
除了@ScottChamberlain的答案之外,该设备/dev/random
用作随机数生成器。每次读取时,计算机都会尝试生成新的随机数。这需要 CPU 时间。您看到的瓶颈很可能就是由于这个原因。除非您使用其他(更轻量级)方法来获取随机数,否则无法消除它。