For a fairly large community site (think OG, node access control, private messages etc), we were getting in trouble giving authenticated users a decent browsing experience. The worst page was taking 16 (yes, sixteen) seconds to load and others were getting in trouble too now that the number of users and nodes was growing rapidly. Not acceptable of course, so we went searching for solutions:

Litenode is a new module that uses Views to replace multiple node_loads() on a page. The largest source of queries on a page is almost always node_load(). It can push your query count very high, since each node has multiple queries run. That means that there tends to be a nearly linear relationship between the number of nodes on the page and the number of queries.