Poor Website Performance due to Access DB Problems -Consider Upgrading to SQL Server


Alentus recommends that its customers who use an Access database upgrade to a SQL Server database once the upper limits of the capabilities of the Access Database engine are approached. This condition usually presents itself as extended page load times or time-outs that sometime "fix" themselves without any outside interference; however, the symptoms begin to occur with increasing frequency.

If Alentus Technical Support/Customer Service have referred you to this page, it is probably due to one of the following conditions occuring:

- The traffic to your Access database driven site has exceeded the capability of MS Access (by Microsoft design). In this case staying with MS Access will mean this problem will definitely happen again. MS Access is handled as a flat file and therefore can only handle a comparitively small amount of traffic.
- The database was being modified through the browser application while someone (customer) was simultaneously downloading/uploading changes.

When too many visitors cause Access connections to be opened, some will have to wait and during that time, their blue progress bar for loading the page in the browser will move very slowly. If the page cannot be loaded within the Script Timeout (example: 45 seconds), MS Access will stop responding to all the requests and your site locks up. It will remain locked until the Session Timeout has expired, usually 5 minutes, at which point it will start working again. During this Script Timeout, often you will see a database file in your site ending with .ldb in the same folder as your Access database. This is a "lock" file.

To help manage this problem, it is recommended that the website's scripts be checked to ensure that they individually open and close the database when needed and no open connections are held by session or application variables. Make sure the database connections are closed after each page load, and not after the ending of a user session. This will improve overall performance and may be enough to solve the problem, provided that the database "load" does not increase. Leaving open connections not only affects the performance of the offending website, but it also consumes resources shared by other websites on the same server. All Access database applications should include code to close connections when no longer needed.

Access DBs cannot have any concurrent open connections to it and therefore technically is opening and closing database connections per user or customer. Once the site gets busy, Access will slow down site operation and cause other problems related to heavy load. Should you have multiple concurrent users on your site trying to access the Access database (say just doing a search), that may cause Access to fail or have noticeable performance problems.

A good alternative is to move to SQL Server, which is much better suited in a number of ways for handling live data being accessed by hundreds of concurrent user connections. SQL Server 2000/2005 easily accomidates hundreds of concurrent open connections to the database and can handle thousands of connections and transactions continuously. There is a monthly fee, based primarily on maximum database size, for a SQL Server Database. We recommend you choose a SQL Server hosting plan option from the below URL:

http://www.alentus.com/hosting/sqlserver.asp

Add Feedback