if you apply by post, it takes usually between 1-2 weeks (can take a bit longer), and there's no way to "put a rush on it" (other than sending your documents via overnight mail, which I would recommend doing anyway.) If applying by post it's unlikely that you will have your visa by the 21st if you're only getting married on the 13th, especially since you have to wait to get your marriage certificate for the application which usually takes a couple of days to get depending on the state/county.
If you go in person (and yes, you can only go to NYC, LA or Chicago, depending on what state you live in) then you can get the visa the same day. If you're in a hurry but you can't go in person, another option would be to hire a registered courier service who will take your documents into the consulate for you (they don't need an appointment) so you'd get same day service without actually being there (although with mailing documents back and forth to the courier it'd be more like 2-3 day service.)