I have a machine workstation which has 8TB of data, and I'm connected to an smb server using IP xxx.xxx.xxx.xxx where I go to the finder (Nautilis) address bar and type smb://xxx.xxx.xxx.xxx then it asks for my credentials and I enter then then the server is mounted and I have access to its folders. I want to test the transfer speed of the files in both directions from the machine to server and server to machine. I've looked into it and I found that iPerf can be used but the problem it needs to run on the both ends and I don't know how I can run it on the server as I only have access to it through ip. Any advice?

  • If nothing on the server will take your data, I don't think you can make any meaningful test of how fast you can send your data to it.
    – muru
    Mar 7, 2018 at 8:38
  • @muru what do you mean by "If nothing on the server will take your data"?
    – Tak
    Mar 7, 2018 at 8:39
  • @Tak well, a transfer assumes something is receiving, so if you can't get anything on the server that will receive data, there's no transfer.
    – muru
    Mar 7, 2018 at 8:40
  • See askubuntu.com/questions/7976/… if not iperf there is also netcat. But you do need access to both to get accurate results.
    – Rinzwind
    Mar 7, 2018 at 8:41
  • @muru I have access to the the server through nautilus how I can run iperf on it?
    – Tak
    Mar 7, 2018 at 8:42

1 Answer 1


Here's a quick and dirty solution that will work as long as you have RW access to the server file-system and it isn't mounted until you access it via Nautilus.

Regardless of whether you are accessing the file system on the server via nautilus or by some other method, the file system must be mounted in order to use it. Considering that this is the case. It should be relatively simple to test throughput in both directions via time and simple mathematics.

1) open a terminal and issue the mount command.

2) connect to the server filesystem

3) issue the mount command again and compare the output to determine where the server filesystem is mounted. (You can redirect the outputs to files and diff them if you are having trouble finding the newly mounted mount point.)

4) choose or create a file (target.file) on your local system of sufficient size to test the throughput (you may be limited by quota as to how big that can be).

5) issue the command sync && time cp target.file /server/mountpoint/target.file

6) divide the size of the file by the number real # of seconds the command took to obtain the throughput speed. Example 409MB/5.317 = 76.923076923 MBps (note that this is the speed of a copy from one local drive to another local drive on my system. Your mileage will vary. The units you use when determining the file size will be the units you get per second in the resulting calculation. This gives you the throughput from your machine to the server. Since even if the drop caches trick works on your local system it doesn't appear that you have that level of access to the server (which will be caching all manner of things for all the users on it) it would be prudent to delay following a similar process to copy the file back and determine the speed from the server to your machine with cp /server/mountpoint/target.file ./

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.