If it has gone from minutes to days, that is highly abnormal. I'd suggest stopping that process. Disable it for the moment. Then, I would run each of the check commands within CHECKDB independently on the database in order to try understand where things are going wrong. For minutes to days, you may be dealing with corruption of some kind.
If you don't want to run this on production, and I would sure avoid it if possible, restore the database to a non-production server and run the commands there (a successfully restored database will carry any corruption with it). If the restore fails because of corruption, well, there's another clue as to the problem.
Other things to look at apart from blocking, wait statistics. What is it waiting on? CPU, IO, how are these things behaving in general? Something is up. Time to break everything you do down into discrete steps in order to identify it.