What you should run is xcache which in tests has proven faster then eaccelerate for your opcache. This will cache the php scripts into your ram. These needs to be run on every front end machine. Then you run memcache for the cache system in IPB itself. This cache can be shared across multiple servers and is designed this way, memcache can scale to any size.
However 25,000 active users at once is quite a bit of traffic. Your talking about requiring multiple database servers at least a primary and slave server. Your front end is going to take the brunt of the work and will require good load balancing and I would recommend maximizing your server resources with xcache, memcached, and running sphinx. I would also get away from apache and switch to nginx with php-fpm. I only run a forum that caps out at 2k users but the speed difference is amazing and the server load is quite noticeable.
Overall I think your client also needs to understand his up front costs of running at least 10-15 servers even if optimized. I personally would start with 2 front end and one database server and work from there.
It's running on 3 dedicated servers. 2 webservers loadbalanced and 1 database server. The webservers are using eaccelerator.
Gzip was disabled and I used mod_deflate to zip all non-img static files. We just upgraded to ipb3 from ipb2, so we're still testing things out.
As it seems that ipb3 is causing twice as much load.
Also, for search we used xapian and sphinx. The database is using innodb for the large and fast-update tables like posts, members and session.
Not that I can give you an exact answer, but IP.Board should be able to cope with that no problem, IPs have many large clients that use Ip.Board such as NBC and nVidia. I think Charles may be able to give some idea of what kind of hardware is needed to support that many users.