We've had a few reports that PDQ Inventory has started running slowly in some environments. In a few cases it was running agonizingly slow. In these cases we have suggested performing a few maintenance steps and a few preventative steps to speed things up.
First things first. Stop your Inventory Service (you can do this via File > Preferences > Background Service). After you have stopped the service close out of your PDQ Inventory console.
If your Inventory Service has problems stopping you may just want to kill the PDQInventoryService.exe. To kill this process via the command line:
taskkill /f /im PDQInventoryService.exe
The biggest bang for your buck is to address the problem at the database level. PDQ Inventory uses a SQLite database. Below are the locations:
Windows 7 / 2008 / Vista: %ProgramData%\Admin Arsenal\PDQ Inventory\Database.db
Windows XP / 2003: %AllUsersProfile%\Application Data\Admin Arsenal\PDQ Inventory\Database.db
Open a CMD window and connect to your PDQ Inventory database. To connect run the following commands depending on your OS:
64 bit Windows 7 / 2008 / Vista:
"%ProgramFiles(x86)%\Admin Arsenal\PDQ Inventory\sqlite3" "%ProgramData%\Admin Arsenal\PDQ Inventory\Database.db"
32 bit Windows 7 / 2008 / Vista:
"%ProgramFiles%\Admin Arsenal\PDQ Inventory\sqlite3" "%ProgramData%\Admin Arsenal\PDQ Inventory\Database.db"
32 bit XP / 2003
"%ProgramFiles%\Admin Arsenal\PDQ Inventory\sqlite3" "%AllUsersProfile%\Application Data\Admin Arsenal\PDQ Inventory\Database.db"
64 bit XP / 2003
"%ProgramFiles(x86)%\Admin Arsenal\PDQ Inventory\sqlite3" "%AllUsersProfile%\Application Data\Admin Arsenal\PDQ Inventory\Database.db"
Let's run some SQLite commands. The first command will clear out your Scan History. We will run the vacuum; command which will rebuild your database. The rebuild shouldn't take too long. If you have corruption in your DB it will let you know. Don't forget to append each command with a semicolon.
delete from ComputerScans; vacuum;
Here are some screenshots showing me running the commands.
From a Windows 7 64 bit OS
From a Windows XP 32 bit OS
Go ahead and close your CMD window. (You can also just hit CTRL+Z to exit the SQLite prompt). Open up your PDQ Inventory console. (Opening the console will attempt to start the Inventory Service)
Here are a few other suggestions for speeding things up.
- Increase your Heartbeat interval. You can do this via the Network page in Preferences. The default is 300 seconds. Depending on the number of computers in your environment you may want to set this a little higher such as 600 or 700 seconds.
- Decrease the Auto Cleanup value via the Scanning page in Preferences.
- Be less aggressive with your Scheduled scans. You can modify the scan schedules via the Scan Profiles page in Preferences.
- Open up a collection (All Computers, for example). Select Edit Columns from the View menu. Only keep the columns that you reference regularly in the Visible Columns pane. Move everything else to Hidden Columns. This step will, however, become less important when PDQ Inventory 2.0 is released in Q4 of 2012.