InProc Session - How much can it hold?

G

Guest

I have a web app. running on a dual processor with 1GB RAM and SQL 200 Database
At any one time there can be around 20/30 users accessing it through the web interfac
performing tasks such as searching through DataSets, and a further 20/30 users performin
Replication using HandHeld Devices with SQL CE

From a web app. point of view I tend to use InProc Session State quite a lot to hold m
DataSets, etc. I'm aware of the different Session options available e.g. OutProc, SQL, bu
I think InProc suits me in this case...if I'm satisfied of one thing..

How much data can be held in InProc Session before a server starts to come under pressure
For example, if I'm holding 6 DataSets with average 150 Records per DataSet for 10 Users a
any one time in InProc Session what type of performance issues will I come across? How can
I quantify this (performance counters?)

Cheers
Ciaran
 
D

David Browne

ciaran said:
I have a web app. running on a dual processor with 1GB RAM and SQL 200 Database.
At any one time there can be around 20/30 users accessing it through the web interface
performing tasks such as searching through DataSets, and a further 20/30 users performing
Replication using HandHeld Devices with SQL CE.

From a web app. point of view I tend to use InProc Session State quite a lot to hold my
DataSets, etc. I'm aware of the different Session options available e.g. OutProc, SQL, but
I think InProc suits me in this case...if I'm satisfied of one thing...

How much data can be held in InProc Session before a server starts to come under pressure?
For example, if I'm holding 6 DataSets with average 150 Records per DataSet for 10 Users at
any one time in InProc Session what type of performance issues will I come across? How can
I quantify this (performance counters?)

There is no performance counter specifically for this, but you can look at

.NET CLR Memory\# Bytes in all Heaps

for the aspnet_wp process to determine your total amount of allocated
memory. My basic feeling is that for applications with < 100 simutaneous
users, you can be pretty liberal with InProc session state.

A DataSet is basically a set of arrays, one for each column. In your
example the datasets would ocupy certianly less than 1 mb per user.

6datasets/user*150records/dataset*1024bytes/record = 0.88mb/user

Add to that the decreased memory pressure and decreased network traffic from
retaining the datasets in memory instead of discarding and recreating them,
and you should have no problem.

David
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,582
Members
45,057
Latest member
KetoBeezACVGummies

Latest Threads

Top