Help Center

Follow

Is PDQ Inventory Running Slowly? Some Tips To Speed It Up.

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. 

Maintenance:

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.

 

RunningInventoryService.png

StoppedInventoryService.png

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

Win7-64-SQLite.png

 

From a Windows XP 32 bit OS

xp32-SQLite.png

 

 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)

Preventative:

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.
Finally, If you have more than a few hundred computers in your database you should seriously consider running PDQ Inventory on a 64 bit OS with at least 4 GB of RAM. This is especially true if you run a lot of scans throughout the day.

 

 

 

Was this article helpful?
2 out of 2 found this helpful
Have more questions? Submit a request

5 Comments

  • 0

    Very informative.  Is there a way to combine these commands into a script that would first stop the service, then launch SQLite and execute the commands and finally restart the service?

  • 0

    Jonathan, certainly.  This will work for Windows 7 64-bit, just change the environment variables to get it to work on other systems.

    set sqlite="%ProgramFiles(x86)%\Admin Arsenal\PDQ Inventory\sqlite3"

    set database="%ProgramData%\Admin Arsenal\PDQ Inventory\Database.db"

    net stop PDQInventory

    %sqlite% %database% "delete from ComputerScans;"

    %sqlite% %database% "vacuum;"

    net start PDQInventory

  • 0

    Just to note, we're going to add in an automatic vacuum in the next version of PDQ Inventory, to make it so you don't need to do it manually.

  • 0

    This absolutely helped me. I also recently moved the database to faster drives, and it made a huge improvement.

  • 0

    Hello, 

    i'm testing actually your solution. 

    each time i do an action i'm facing some bigs Slowings down on pdqDeploy and inventory nut more in deploy)

     

    I did exactly what is explained above, and i desactivated the windows firewall and mc afee scanning and acces folders (for programdata\admin arsenal and programfiles\admin arsenal.

    Installed on a Virtual Machine with two processors with two cores with 8Go RAM...

    Everything is configured to well 

     

    Please HELP

     

    Thank You

     

Article is closed for comments.