20% - wow! I was a waitress for years (a dingdangity good one too) and I never got more than 10% - ahh, the perils of living in the UK...
Cutomers - if you can see the place is busy and/or short staffed, please allow a little more time. Yes, it's annoying, and yes, the manager should have more staff available, but sometimes it's an unexpected rush - and either way, it's extremely unlikely to be your waitress's desicion to work 20 tables by herself.
Equally, Wait-staff - if you are busy and customers may be facing a longer-than-normal wait - tell them! And apologise! Some people only have a short break, and may prefer to go elsewhere, which is their right. They are also much more likely to be be relaxed about waiting if you are polite and apologetic, rather than slamming their plates down after 40 minutes and saying 'well, we're busy!' when they ask how long it will be.