![]() ![]() | ![]() ![]() ![]() |
The performance problems arise at file transfer bottleneck - when the intercomputer connection can be slow, especially on transoceanic routes. The "route" distance to the remote host and the size of processed files are increasing proportionally the speed of the operation. It is on user's responsibility to decide, whether to spend several minutes, or maybe dozens of minutes waiting for a remote file to arrive is worth.
The reason for it is simple - in a Local Area Network (LAN) or in a Metropolitan Area Network (MAN) even very big files (> 10 Mb) can be transferred at great speeds, while a lousy connection to a distant host may fail even for a small file of size around 1Kb. So the user should check with the tools he has (ping, traceroute etc.) whether the link to remote host he wants to access is stable enough.
Other performance improvement is caching of information locally, both user data and files the user wants to access. FTP servers usually prompt the user for password in both anonymous and regular access and providing the mechanism will know in some cases to substitute the password may nicely improve the performance. In the project we use caching of last used password, mapped by requested host and username. Also the mechanism knows how to make the proper password for an anonymous login.
The reason we decided not to cache the files was the danger of flooding the /tmp directories, for in many computers only a small area of 25-30Mb is granted to that directory. A user that would forget to clean his cached files might soon find himself in a stalemated position and land into a trouble. Nevertheless, when an editing of a remote file is being performed, a local saving is always offered, when a remote saving fails for any reason.