TechNet's library entry on SharePoint capacity and planning:
http://technet.microsoft.com/en-us/library/cc262971.aspx
Some good notes, including repeated recommendations to use a 64-bit architecture, at the very least on the SQL side. It provides for greater directly addressable memory space, improved bus architecture (more data passed to cache and procs), and larger number of procs (only 32 on 32-bit architecture).
From microsoft.com : Capacity Planning for Windows SharePoint Services
http://www.microsoft.com/resources/documentation/wss/2/all/adminguide/en-us/stsb07.mspx?mfr=true
Some good info on requests per user per second, etc.
From deeper in the same TechNet library as above:
Tune Web server performance (Office SharePoint Server)
Some specific recommendations including, again, a very hard rec to use 64-bit for WFEs. Don't use web gardens. Also, and this is a big one in large farms: Use dedicated Web servers for services that are not exposed to end-users, such as indexing, CA, Profiles, and Excel Services.
Also, use Kerberos for large number of requests.
Some more in-depth tips on object caching:
http://www.sharepointblogs.com/bobbyhabib/archive/2008/07/02/different-type-of-moss-caching-mechanisms.aspx
MSDN's take on Internet site optimization:
http://msdn.microsoft.com/en-us/library/bb727371.aspx
This article has some great tips, including instructions for the following:
"Delay load the core .js file (~250 KB uncompressed) in the background (load it asynchronously), which allows the page to load faster and become available to the user more quickly. Delay loading results in a better user experience because the .js file loads asynchronously. This is also the safest option. "
Some specific instructions on enabling Static compression for IIS 6.0 from both Bill Baer and Scott Forsyth:
http://blogs.technet.com/wbaer/archive/2008/01/30/http-compression-internet-information-services-6-0-and-sharepoint-products-and-technologies.aspx
http://weblogs.asp.net/owscott/archive/2004/01/12/57916.aspx