设置以下wide linksSamba 参数设置为no在 Samba 配置文件中/etc/smb.conf。如果将此选项设置为no,则会告诉 Samba 不要跟踪共享点导出区域之外的符号链接。为了确定链接是否指向共享区域之外,Samba 必须跟踪该链接,然后进行目录路径查找,以确定链接最终指向文件系统中的哪个位置。这最终会为每个文件名查找增加总共六个额外的系统调用,而 Samba 会查找大量文件名。一项已发布的测试表明,设置此参数将导致 Samba 性能下降 25% 到 30%。
修改文件系统缓存调整参数可以显著提高 Linux 的文件服务性能,最多可提高两倍。Linux 将尝试使用未用于任何其他目的的内存进行文件系统缓存。一个名为bdflush的特殊守护进程会定期刷新dirty缓冲区,包含已修改文件系统数据或元数据的缓冲区 到磁盘。
良好性能的秘诀是尽可能长时间地将尽可能多的数据保留在内存中。写入磁盘是任何文件系统中最慢的部分。如果您知道文件系统将被大量使用,那么您可以为 Linux Samba 调整此过程。与许多内核可调选项一样,这可以通过写入/proc文件系统中的特殊文件来动态完成。诀窍是,您必须告诉 Linux 您希望它这样做。您可以通过为 Linux 2.2 内核执行以下命令来做到这一点。
Red Hat Linux 下的默认设置是bdflush参数的默认设置是
"40 500 64 256 500 3000 500 1884 2" |
在 下
[root@deep ] /# echo "80 500 64 64 15 6000 6000 1884 2" >/proc/sys/vm/bdflush |
在 下 编辑/etc/sysctl.conf文件并添加以下行
# Improve file system performance vm.bdflush = 80 500 64 64 15 6000 6000 1884 2 |
您必须重启网络才能使更改生效。重启网络的命令如下
[root@deep ] /# /etc/rc.d/init.d/network restart |
Setting network parameters [ OK ] Bringing up interface lo [ OK ] Bringing up interface eth0 [ OK ] Bringing up interface eth1 [ OK ] |