桑巴共享,写入性能

我正在运行一个debian jessie服务器,它使用ext4在外部驱动器上提供samba-share,其读写速度约为80MB / s和40 MB / s。 我目前使用的客户端是Win7。 这两台机器都连接到一个千兆位局域网,提供约80-90 MB / s的传输速率。

桑巴股份的阅读正如预期的那样,传输率为60-70MB / s。 但是,在Win7客户端上写入该共享时,性能约为1MB / s。

有没有人在类似的情况下遇到如此糟糕的写作performance? 对于给定的设置是否有任何调整来优化性能? 或者它会帮助改变文件系统等?

Debian服务器能够以多快的速度写入外部驱动器? (使用fio或其他东西来testing这个)
你到外部驱动器有什么样的延迟? (也许testing与DD或东西)
从Win7客户端到共享的延迟是多less? (简单的ping就可以)
你能提供你的/etc/samba/smb.conf文件吗?

有很多因素会影响最大的理论读写速度。 还有几个configuration选项可以影响速度。 如果您可以提供一些进一步的细节,也许我或其他用户可以帮助您find问题或提高写入速度。

SAMBA有几个选项可以提高读/写性能。 对于你的情况可能是一个重要的select是写入caching大小 。 这是https://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.html中的一个引用。

写入caching大小(S)
如果此整数参数设置为非零值,则Samba将为每个oplocked文件创build一个内存中caching(对于非oplocked文件,这不会执行此操作)。 所有写道,如果可能的话,客户端不要求直接刷新到磁盘将被存储在这个caching中。 写入缓冲区时,缓冲区将被刷新到磁盘上,其写入偏移量不适合caching或文件被客户机closures。 如果数据存储在该caching中,则也从该caching中读取该文件。 此caching允许Samba将客户端写入操作批量化为RAID磁盘的更高效的写入大小(即,写入可以被调整为RAID条带大小),并且可以提高磁盘子系统是瓶颈的系统的性能,但是用户空间具有可用内存程式。 integer参数指定此caching(每个oplocked文件)的大小(以字节为单位)。

默认值:写入caching大小= 0
示例:写入caching大小= 262144#,每个文件的caching大小为256k

您可以在这里find工作示例: http : //www.arm-blog.com/samba-finetuning-for-better-transfer-speeds/和https://coderwall.com/p/2ufa0g/fix-samba-read-和写入性能问题

您需要在/etc/samba/smb.conf文件的[global]部分中调整这些选项,并且需要重新启动samba。 您可以查看上面提到的samba手册页来了解选项。