通过 samba 访问 ubuntu 虚拟机卡顿

Samba 配置不当可能导致性能问题。

解决方法:

  • Samba 配置优化:修改 Samba 配置文件 /etc/samba/smb.conf​,添加或调整以下参数:
[global]
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=65536 SO_SNDBUF=65536
min receivefile size = 16384
use sendfile = true
aio read size = 16384
aio write size = 16384
write cache size = 2097152
  • 重启 Samba 服务
sudo systemctl restart smbd
sudo systemctl restart nmbd

配置解释

  1. [global]

    • 这是 Samba 配置文件的全局设置部分,定义对整个服务器适用的设置。
  2. socket options = **TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=65536 SO_SNDBUF=65536**

    • TCP_NODELAY:这个选项用于禁用 Nagle 算法,它将数据包立即发送而不是等待更多数据,减少延迟。
    • IPTOS_LOWDELAY:设置 IP 头信息中的服务类型字段,告诉路由器和交换机尽可能低延迟地处理这个数据包。
    • SO_RCVBUF=65536:设置套接字的接收缓冲区大小为 65536 字节(64KB),可以加快数据的接收速度。
    • SO_SNDBUF=65536:设置套接字的发送缓冲区大小为 65536 字节(64KB),可以加快数据的发送速度。
  3. min receivefile size = 16384

    • 这个选项指定了使用 sendfile()​系统调用的最小文件大小。当文件大于等于这个大小时,Samba 会使用 sendfile()​以减少内核空间和用户空间之间的数据复制,提高性能。
  4. use sendfile = true

    • 这个选项启用了 sendfile()​系统调用。sendfile()​直接从文件描述符将文件发送到套接字,绕过用户空间,减少了 CPU 开销,提高了数据传输效率。
  5. aio read size = 16384

    • 这个选项指定了异步 I/O 读取操作的最小请求大小。文件读取请求大于等于这个大小时,将会使用异步 I/O 操作,提高并发性能。
  6. aio write size = 16384

    • 这个选项指定了异步 I/O 写入操作的最小请求大小。文件写入请求大于等于这个大小时,将会使用异步 I/O 操作,提高并发性能。
  7. write cache size = 2097152

    • 这个选项设置了写缓存的大小为 2097152 字节(2MB)。增加写缓存的大小可以提高写操作的性能,但会占用更多的内存。

示例:Samba 配置文件

以下是一个完整的 Samba 配置文件示例,其中包含上述优化参数:

[global]
workgroup = WORKGROUP
server string = Samba Server
netbios name = ubuntuserver
security = user
map to guest = bad user
dns proxy = no

# 优化参数
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=65536 SO_SNDBUF=65536
min receivefile size = 16384
use sendfile = true
aio read size = 16384
aio write size = 16384
write cache size = 2097152

[shared]
path = /srv/samba/shared
browsable = yes
writable = yes
guest ok = yes
read only = no

在这个示例中,我们定义了一个名为 shared​的共享文件夹,并应用了全局优化参数。这些参数的设置可以显著提高 Samba 服务器的性能,特别是在高并发和大文件传输的情况下。

这些配置项的选择和调优应根据具体的硬件环境、网络环境和使用场景进行适当的调整和测试,以获得最佳性能。

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...