Since performance is an issue, I imagine you are managing your own sessions instead of using php sessions? Bear in mind that there are times when de-normalizing the db can pay for itself. In the case of sessions I feel the price of a little redundancy in your session table well covers the cost in reduced joins since that table is getting read so often, especially since the session table entries will be getting destroyed at the end of the session.
As far as managing connections, I think MySql does a pretty good job of re-using the same connection for every database hit on the page. For a site with a lot of hits, a commercial connection pooling application might be worth the money. I don't think a free one exists, but I would be sure interested in finding out if it did.