We have 2500 wireless clients at peak time, and I have seen as much as 20 simultaneous authentications before I optimised the freeradius server. We only have one RADIUS server in operation, and another for failover.
The number of users is one tree in the forest IMO. Have you timed how long one user takes to authenticate? What is the load of your current server? How long the associate systems take to answer?
At the end of the day, again, IMO, you have to balance good sysadmin practices while fine-tuning the associated systems, and fine-tune your freeradius configuration as well. Pay well attention to the debug information, as you can fine tune unlang for some events to not repeat all the way in the several steps of the negotiation; also the latest 2.2 versions seem to perform better than the 2.1.X - we went from 50-90ms down to less than 10ms.
Note: have a look at eapol_test and raddebug if you are not using them.
Regards