At a wedding, cocktails should last no more than 1 hour - hence "cocktail hour". That gives you ample time to get to the reception from the ceremony, as well as taking pictures. Any longer than that and it makes the time drag. One hour is plenty of time for guests to introduce themselves, mingle and socialize.
If money is an issue, don't worry! There are plenty of ways to have alcohol without spending a small fortune. I always suggest you go with beer, wine and a signature cocktail if you want liquor served. I would also only offer 1 glass of champagne per guest for the toasts instead of letting it flow throughout the night.
Whatever you do, try not to have a cash bar. Think of it this way - would you ask guests to bring their favorite dish for a potluck reception? If the answer is no, then forgo the cash bar. You're treating your guests to a night of celebration, so let them enjoy!