The number of bridesmaids and groomsmen at your wedding is largely a personal decision and depends on whom you want to stand by your side on one of the biggest days of your life.
That being said, there are certain guidelines that will help you make wise choices.
Ushers You should have one usher for every fifty guests, to show them to their seats and distribute programs. Typically groomsmen double as ushers, but if you want a small wedding party, ask other friends to fulfill this duty.
Very formal weddings with more than 200 guests : 6 to 10 bridesmaids, 6 to 10 groomsmen, plus a flower girl and a ring bearer. An extremely formal wedding in a large cathedral might have as many as twelve bridesmaids, but that is very rare.
Semi-formal weddings: 1 to 6 bridesmaids, 1 to 6 groomsmen and sometimes a flower girl and/or ring bearer.
Casual wedding: Sometimes just a maid of honor and best man, sometimes one or two additional groomsmen. Typically no flower girl or ring bearer.
Second wedding or late-in-life wedding: Older brides typically choose not to have attendants. Parents may choose to have their children present at the aisle.
Of course, these rules are made to be broken! Do what feels right to you, and appropriate to the size of your family and social circle.