The performance of a FileMaker shared database on a network is determined by many factors. Besides networking hardware and software, structure and design of the database system may effect performance. The best performance from FileMaker Pro and FileMaker Pro Server can be achieved by implementing as many of the following recommendations as possible.
Local area networks should be at least 10Mb/sec or better. The faster the connection the better the network performance, especially for many users on a large network. If possible use switches instead of hubs, hubs broadcast data where as a switch will give a more direct route from the client to the server. Remote connections should be via a fast broadband connection, such as a T1 line, DSL or cable modem. Dial-up connections using modems are extremely slow.
LOCATE YOUR DATABASES ON THE HOST COMPUTER
The database files should reside on a hard drive attached to the host computer. (The host computer is, by definition, whichever computer opens a FileMaker database first). If you open a database as the host and the database is stored on a remote file server, then there is a network connection between the host and the database. This may be only marginally slower if you're the only person using the database, but if there are guests using the database, their access to the file will be much slower. This is because all communication between the database and the users is through the host. When a guest performs an action on a database, that communication flows through the host to the database file, then back through the host to the guest. When multiple guests use a database, the 'traffic' between the host and the database file on disk increases accordingly. The worst case scenario is when related files reside on a server and some the databases are opened first by one computer and others are opened first by other computer(s). This not only results in a network between the host and the database, but also a network between multiple hosts.
To avoid this problem, locate the database files on the host computer. Then make sure that the computer that is supposed to be the host computer opens the databases first. This is commonly done by setting up the host computer to open the databases automatically when the computer is booted.
HOST THE DATABASES ON A COMPUTER RUNNING ONLY FILEMAKER PRO
You can host databases on a server, on a workstation or on a separate computer dedicated to hosting FileMaker databases. A dedicated FileMaker Pro host is fastest. This is because a computer can only process one thing at a time. A computer may appear to process multiple tasks at the same time. In fact, the computer can only switch between processing different tasks very quickly. Any computer processing time used for something else is processing time taken away from running FileMaker Pro. On a server, processing time can be used for transferring files to and from the server, processing mail, print serving, web serving, running other applications, etc. When the server is busy handling these other processes, it cannot handle processing FileMaker Pro. This can cause delays for FileMaker Pro users as they wait for the server to process other requests on the server.
Similar delays can happen when you host the databases on your workstation. For example, if you work on a word processing document while FileMaker Pro is hosting files in the background, you may find that the computer processing time for the word processing document slows down FileMaker Pro, and vice versa. Likewise, dialog boxes and screen savers may prevent the workstation from doing any processing of background applications *at all*, bringing all FileMaker Pro users to a complete halt.
For these reasons, the fastest solution is to host FileMaker Pro databases on a dedicated host computer. If you cannot afford a separate computer to run FileMaker Pro, then hosting the databases on the server is still better than storing databases on the server and hosting from a workstation. This, at least, eliminates any network slow down between the host and the database files.
NOTE: The file you’re hosting must be on the hard disk of your computer. Remotely hosting a file stored on another computer or server is not supported, as it might compromise data integrity and will result in poor performance.
HOST YOUR DATABASES WITH FILEMAKER SERVER
Depending on how you use the databases, you may find a speed improvement with as few as five users. If you're regularly finding and sorting a lot of records, or you're displaying layouts with summary fields, for example, you'll find that FileMaker Server can speed up your usage of the databases. FileMaker Server is faster for several reasons. First, FileMaker Server handles more of the processing locally that otherwise would be sent to the guest. For example, FileMaker Server can reindex a field that has been edited by a guest, rather than sending the data to the guest for reindexing. In addition, FileMaker Server is multi-threaded, which means it can handle the processes of multiple guests simultaneously.
Conversely, a FileMaker Pro host can only handle the current process of a single user. While this is going on, other users will wait until FileMaker Pro is done handling the current process. As you can imagine, a lengthy process, such as a large and complicated sub-summary report, can cause significant waits for other users. Another common process that can be lengthy is when data is edited by guest. This is due to the nature of how FileMaker Pro handles updated data. When data is updated, that information is sent out to every guest with that file open. It does this so that any guest that happens to be viewing that record will see the updated data immediately. The host then waits for acknowledgement from the guest that the updated data has been received. Anything that delays receiving this acknowledgement from the guest will prevent a FileMaker Pro host from finishing this process and starting the next process by another guest. This can include a busy network, or a guest computer that is busy with another task, or a guest computer that has a dialog box or screen saver up that prevents it from responding back to the host.
Since FileMaker Server is multi-threaded, it can process other guests while it attempts to finish the current task. Please check the system requirements for the version of FileMaker Server you are running.
FileMaker Server has other benefits:
OPTIMIZE THE HOST COMPUTER
Most of the following tips are not specific to FileMaker Pro or FileMaker Pro Server, and can be applicable to any application. Nevertheless, these tips for speeding up your host computer can help to speed up your usage of FileMaker Pro.
For FileMaker Server - turn down the number of clients that can connect as well as the maximum number of files to be hosted. This will help distribute the resources for FileMaker Server more effectively.
OPTIMIZE THE GUEST COMPUTERS
The previous tips for optimizing the host computer can also be applied to improving speed of the guest computers. However, this is less important than improving the speed of the host. Of course, this is all relative. If your guest computer is extremely slow by today's standards and the host is already reasonably fast, you may want to try a faster guest computer first.
OPTIMIZE CONNECTING AS A GUEST
There are several ways to open a database as a guest
Recommended: use Open Remote from the File menu, or use an "opener" database (explained later).
Not recommended: Do not double-click on the file icon on a network share you've connected to. Always connect via the File Menu and select Open Remote (or Open Recent if you've used this database recently) or an opener database.
Explanation: When you connect to a database via a file icon, your computer needs to locate the host computer over the network. This location will be by your computer's native networking protocol. This can take longer to open the file as it takes time to locate the host on the network.
OPTIMIZING THE DATABASES
Making your databases faster is not a topic specific to shared databases. However, improving database speed will be most noticed on the guest computers.
NOTE: Using the ip address may be slightly faster than using the DNS name of the machine, as this avoids having to lookup the ip address on the DNS server. However the trade off is that the ip address is hardcoded and if the ip address changes the files will no longer have access.
NOTE: We do not recommend running FileMaker Server and FileMaker Pro on the same machine. But there is no harm in installing both as long as they are not running concurrently.