使用多余的 RAM 作为 Samba 的缓存?

使用多余的 RAM 作为 Samba 的缓存?

我有一台较旧的工作站,内存为 32GB,我将其重新用作运行 Ubuntu Server 18.04 的服务器。由于用途有限(主要是文件共享和备份),32GB 远远超过了必要量,我想知道是否可以将剩余的 RAM 用作 Samba 文件共享的某种缓存(类似于 bcache,但使用 RAM 而不是 SSD)。Ramdisk 并不是我想要的,因为我希望缓存中的内容根据访问频率更高的内容而变化。

这可能吗?如果可以,有人能给我提供一些关于如何做到这一点的资源吗?(遗憾的是,到目前为止,谷歌搜索没有给我带来任何结果)

谢谢你!

答案1

write cache size您可以尝试调整条目下/etc/samba/smb.conf的参数[global]

起点可以是:

# for a 256k cache size per file
write cache size = 262144 

请参阅此处房产描述

但这不太可能导致传输速度的巨大飞跃。

答案2

除非您使用 NIC 进行协作,否则我可能认为这种尝试没有什么意义。这很可能是您的瓶颈。(1G = 100Mb/s)如果它已经在 NVME 或 SSD 驱动器上,驱动器的速度已经比网络快。ram 磁盘的速度约为 20GB/秒,要使用它,您需要 10G+ NIC 才能真正获得任何价值。

既然您提到这是一台较旧的工作站,那么您可能只有一个 1Gbps 接口,所以不必担心。目前,标准硬盘以外的任何设备都已饱和。

我不介意做这样的实验,但要意识到你这样做只是为了这个目的,并且在虚拟机中玩它,而不是在你需要完成任务的服务器上。:D

永远不要把时间花在任何比你的网络速度更快的事情上,这是一条必须遵循的规则。

答案3

Ubuntu 18.04 桌面版的最低建议要求是 2GB。我在 Ubuntu 18.04 上运行了 Samba,内存为 2GB(服务器版),有 12-15 个用户连续工作。您可以安静地只使用 2-4 GB。8 GB,在我看来已经很多了

相关内容