by adrien » Nov 21 11 10:28 am
Hi
sorry, just saw this needed a reply still.
The reason it's better to run the DB on another computer, even though the files are stored on the WinGate computer is due to the amount of CPU it takes to process queries. the database can grow quite large with a large cache, and have many records. Many fields are indexed as well, so the DB will use more and more memory as the database grows. Searching indexes for records many times per second will also take some CPU.
If the Database and WinGate are on the same computer, then they compete for CPU. Accessing the file on disk isn't really a problem and isn't CPU intensive, it's the lookups and updates / adds to the database that take the CPU. So by moving that CPU load off the WinGate server, you get overall better performance, even though the query needs to be sent across the network, and the response sent back. We've seen this every time.
With an MDB index, the whole DB runs as a DLL in the process, and manipulates the MDB file directly, so it's pretty quick, but cannot handle more than 1 concurrent connection to the database before performance takes a huge hit. When we were testing, we found if we allowed 2 connections to the MDB, while it still worked, the performance (query/s) dropped by about 90%. So we limit connections for MDB to 1.
Regards
Adrien