Why is my Accpac Slow?
Posted by Alistair Hill on Fri, Jul 24, 2009 @ 12:21 PM
A mental trap that a lot of people fall into is the idea that because a single aspect of their hardware is large or fast, that a speed issue must be the fault of the software. The reality is that the total speed of your system depends on the sum of the computers parts. For example, it doesn't matter how many cores your processor has if you only have 1GB of RAM and you are running a memory intensive application. Or you have 8GB of RAM and you're running a CPU intensive program.
The following is a number of items that you can check to ensure that your system is using its resources effectively.
1) Physical Memory & Virtual Memory
Physical memory is memory that you can reach out and poke if you really wanted to, and is the capacity that people refer to when stating how much RAM their system has. When a program runs, it loads its self into the computer's memory. Optimally, the OS would like to store everything in physical memory, because it's fast. However, if the RAM gets full, the OS will swap out items to the virtual memory known as the page file. The page file is stored on the hard drive and is slower to access than RAM, therefore when the system is transferring information your system is being slowed down. The more virtual memory being consumed, the more often content must be moved from physical to virtual.
To check this, open up the task manager and look at the Performance tab. If the usage is higher than your available physical memory then you are using your virtual memory and should consider either more RAM or less programs running.
When referring to a server, optimally, you would like to have more RAM than the total size of the database that you will be using. A database like Microsoft SQL will try and load a great deal of your database into RAM to allow faster access. A simple way to figure out how much RAM you need is to have 1.5 times as much available memory at idle as your database size.
2) CPU
The CPU is not the computer itself, but a component that makes up the computer. When the computer is processing data, this is the device doing the work. Being as the CPU can only do so much at a time, tasks will have to wait until they can be processed if the CPU is being assigned too much work to do. If you go back to your Task Manager's Performance tab, you can see the percentage of CPU usage. If you computer is constantly running near 100%, then there is no room to get Accpac tasks done. You may want to consider getting a more powerful processor. Also check the processes tab to see what programs are using more resources. If a program like Internet Explorer is constantly using a significant amount of resources, it may be malfunctioning.
Keep in mind that if you have a dual or quad core processor, most applications cannot make use of all the cores simultaneously. For example, if the process iexplorer.exe is using 50% of the CPU in a dual core system, it is using 100% of a single core and cannot go any faster. In this scenario, the value of having multiple cores is that other programs will still have processors available. A program may be working very hard, but initially your computer will still run smoothly.
3) Hard Drive
The hard drive plays multiple rolls. It stores your data, but it also pretends to be RAM as explained above. If the hard drive is near capacity, the system will have a hard time using the page file. This can cause significant slowdowns and instability.
The hard drives also contain temporary files. These files are created during the normal operation of a program, and should automatically be deleted when the program is done with them. Unfortunately this does not always happen, so these files must be deleted manually. When someone is complaining about a system being unstable, this is the first place I look.
Finally, fragmentation of data can be devastating to the speed of a system. When data is fragmented, the hard drive must read in several places on a drive just to produce one file. Running a defragmentation tool puts all the chucks of a file in a row so the hard drive does not have to work as hard to read one file. Fragmentation is a normal result of everyday operations and a small amount of fragmented data is acceptable.