It really depends what you put into your sessions, how they're stored, etc.
By default, a session is just a file stored in a serialised form. Therefore, provided there are only a few values in the session, then it should be fine.
Some operating systems / filesystems suffer from serious performance problems when the number of files in a directory becomes too large. This might affect you if you have a huge number of concurrent sessions. In this case, you can tune the various session parameters.
Clearly the advantage of using a session variable is that it is utterly safe from unauthorised modification (although you should still be wary of session fixation and session hijack attacks). The only modifications which can be made to the session are via your code (rightly or wrongly), not by the user's browser.
You can sometimes save quite a lot of work by storing stuff in the session for later use, e.g. remembering the user's preferences etc, so you don't have to read them from a database each time. This may or may not be applicable to your exact application.
Generally speaking, worrying about performance is a bad thing to do. Don't lose sleep over it. If something becomes a problem, profile it in your test network and analyse the data to identify the problem, then either upgrade hardware, software, or do a software fix for it as you feel is necessary, checking this fix against your profiling data.
Mark