20% is generally what I give. If the service is amazing, I'll leave something extra. If it's not, and it's something within your power to fix, I'll adjust it accordingly.
Like, say the food is taking a long time. Sure, I'm not happy with the service, but if they keep coming back to check on...