I want know which one is good to follow whether auto vacuum or vacuum manually. Right now we are following manually in cron jobs, but sometimes it gets struck to vaccum on particular tables. so we are thinking about the auto vacuum. does it give good performance to production server? please suggest. Lot of thanks in advance.
Autovacuum should be enough for most of the cases. If the autovacuum processes get too intrusive, or not fast enough - it's trivial to customize the settings so that it will be fine.
The only cases where manual vacuum should be used is if/when you know that what you did should be "fixed" immediately. For example - if you're doing massive updates of a table, running vaccuum between batches will make sure that the bloat in table will be limited.
Running an automatic lazy VACUUM (or simple VACUUM), ie VACUUM without the FULL parameter is something that is meant to be enabled in full production with no impact.
It is heavily recommended to run VACUUM FULL during scheduled maintenance windows.