Using sessions sometimes may cause performance problems. To prevent these we usually split the IIS and State machine server. Additionally we would store session in SQL server. One of the new future in ASP.net 4 will definetly be our pain killer on this subject. It is very simple configuraation. When we configure the sessionstate in web.config, we will simply set compressionEnabled as true. Then ASP.NET will compress (and decompress) serialized session state by using the .NET Framework System.IO.Compression.GZipStream class. You can simply give it a go and see the difference via configuring SQL DB as a sessionstate server and checking the size of SessionItemLong field in ASPStatesTempSessions table. On text values we can see incredible difference, but if it is an image file the difference will not be that incredible.