How can I profile my server to see what the hardware io demands of Access are on it? I am trying to track down a bottleneck that occurs so rarely.
How can I profile my server to see what the hardware io demands of Access are on it? I am trying to track down a bottleneck that occurs so rarely.
I'm assuming you're using a split database and are wanting to know about the disk I/O requirements on a backend file stored on your server.
Generally speaking, there only a few ways you could even come close to hitting your I/O bottleneck with an Access database:
- Regularly importing large files into Access using VBA or the Import Wizards.
- Regularly running large UPDATE or INSERT Queries.
Personally, I would think that your problems are caused by network issues or by another program hogging resources (on your user's machines, not the server).
That said, if you're running at least Windows Vista on the server, you can use the Windows Performance Analysis Toolkit (WPT) to get all kinds of performance stats, including disk I/O. The WPT is part of the Windows SDK and is freely available from Microsoft (http://www.microsoft.com/en-us/downl...ang=en&id=8279).
Actually using the WPT is wildly outside my personal experience though, so you're on your own there.
Yes it is a split database and I am looking for any kind of requirement that would be needed.
My current idea is that the server is overloaded during peak times. What do you think the minimum required hardware to file serve an access database is? Could i host the file on an older machine like a: 2.7 single amd w/ 4gigs of ram? Maybe some raspberry Pi?
It really depends on the size of your database and now many users it has.
Technically, as long as your server can actually store the backend file and provide that file to others, your minimum requirements are met. In that aspect, there might as well be no minimum requirements: If you have a computer that can boot an OS, you have a computer that can probably host an Access backend.
The problem in Access is that, because there is no "database engine" running on the server itself, it's going to scale very poorly compared to virtually anything else. In fact, if your database is going to be large or have many simultaneous users, I'd recommend setting up a SQL Server database to use as the backend instead of a regular Access MDB or ACCDB file.
And yes, you could use raspberry pi on the server as long as your other Windows machines can connect to it in a manner that they expect (Mapped Drives, Network Shares, etc.). I'd recommend storing the file on an NTFS or FAT partition just to be safe too.
Thanks for all the information.