Are each of these pages unique, or are you showing the same page over and over to 100 different people?
If you are showing the same information over and over, then just generate it every minute or so and then serve it up as a static page.
If you are using a small subset of your data set most of the time, harvest that into a static table that is ready to deliver with no joins or complext syntax to it.
Are you writing new data into the database all the time, or is this dataset fairly static? If you're updating it all the time then don't use the stock mysql, move on the either the newer version 4 or postgresql or some other database that supports mixed read/write better than early mysqls do.
Do you have your linux box configured to give up lots of memory to your database application? That will likely help since more buffers in the database layer will lower disk reads / writes.
If each and every one of these views is unique and must be updated every single time, then you'll need to improve your database performance. Postgresql would likely be a better choice than MySQL, but both will need tweaking and performance tuning to keep up with this kind of load likely.