Sometimes even after rendering for several hours, I'll still have excess noise. I'd even render at a higher resolution then downscale to try to reduce the noise, but my renders were always grainy.
Then I tried this: https://github.com/DeclanRussell/NvidiaAIDenoiser
I used it on one simple and one complex render of mine, as shown in this album: https://imgur.com/a/HSGxoSb
Your results may vary, but it's certainly a great tool to have. Instead of rendering for a whole day or days, I only needed to render them for less than an hour in Jwildfire, and instantly through the denoiser. You could probably get a better image by rendering for longer, then tweaking the settings in the denoiser.