This is a tricky question because the performance of the plugin depends on the performance of the PHP interpreter installed in the server. During my tests I usually run the scanners in a directory tree that weighs ~2 GB so if the site (the uploads directory to be more precise) weighs more than that then it is clear that something unexpected may happen because bigger projects are out of the range of my tests.
There are some things that you may consider during the configuration of the main file system scanner (I say “main” because there are six of them included in the plugin) to work better.
- Set the appropriate maximum execution time of PHP.
- Set the appropriate memory limit of PHP.
- Set the appropriate time to run the scheduled tasks.
- Skip unnecessary folders using the “Scanner Settings”.
We used to have options in the settings page to configure these parameters, but many people started adding random numbers, their sites started crashing because of this mis-configuration and they started complaining, so after discussing with my co-workers I decided to remove those options and keep the interface as simple as posible for non-technical users.
Someone may recommend to allow the administrator to configure the time of the scheduled tasks more freely (right now it only has three allowed values), but it will not fix the issue completely because “scheduled tasks” in WordPress do not work the same way as a “cronjob”. You probably already know that these tasks are executed on the time set during its installation but only if there is an HTTP request being processed at the same time, so if I configure a scheduled task to run every hour but I get only one visitor per day then the task will not run twenty-four times that day, but only once.
I will keep this ticket open until I find a way to improve the performance of the file system scanners on servers that have low-performance PHP interpreters, and with sites that weight more than two gigabytes.