On our production database autovacuum runs whenever it's needed. The problem is sometime it runs during the day which is the peak time. Looked at lots of difficult articles on web, we should always have it enabled. But just want to see what's the best practice, should I schedule the manual vacuum during the night when the load is low on the server? Instead of let autovacuum start at random time during the day. Or solely rely on autovacuum? Only concern is while the server load is high and autovacuum started at the same time, it may cause the performance issue during that period of time.
tuning autovacuum
,optimising autovacuum
and similar (check out EnterpriseDB, Cybertec and Percona in particular). You may even want to switch if off during peak I/O times, but be careful!