Link to home
Start Free TrialLog in
Avatar of tedatadcu
tedatadcuFlag for Egypt

asked on

Web APP hardware sizing

hi,

we host our website on the cloud and want to host it on our datacenter and i'd like to know how to determine the proper hardware to serve our needs what elements should i have and how to determine the CPU power and ram for both web app and database server
the info that i already have for example:
1-.net application connect to SQL server
2-the size of the main page: 3.7 MB
3-the size of the database: 55 GB
4- number of visits per day:70000
5- my manager want to assume that the no of concurrent session 70000 also

so based in these info could i know how much cpu, ram & iops i need and if not what the other metrics do i need.

Thanks.
Avatar of DrAtomic
DrAtomic
Flag of Netherlands image

Let's say each frontend webserver can handle 500 concurrent sessions (assumption since you'd need to test that); that would mean you will need 140 servers. So jeah... I think it might be time to have a word with your manager.

The main dataset you'd be after is the number of active concurrent sessions you currently have at the peak use time.
Avatar of tedatadcu

ASKER

Hi DrAtomic,

thanks for your comment, what is the server specs that will handled 500 concurrent sessions (CPU & ram) , i Will try to get the accurate concurrent session but let's assume it's 5000 how could i calculate H/W for that. also what about SQL server H/W
Avatar of Dan McFadden
First, you need to understand the way the app works.  70,000 visits per day is not 70,000 concurrent sessions.  big... HUGE... difference!

So, lets start with a few questions:

1. do you have a current performance baseline?
2. how are your virtual devices (server) configured in terms of resources?  CPU, RAM, Disk?
3. how do you define a visit?  does that mean HTTP hits or 70,000 unique IPs making page requests?
3a. a hit is essentially a file object request
3b. a unique visit is defined as a collection of hits that when assembled by the client, displays a web page.
3c. if this is a web service, then a visit could be a hit
4. is your web application (website) stateful? Does the app maintain persistant session info across requests or not?
4a. if yes, where and how is session state managed?
5.  what version of .NET?
5a. could be a big question... have the DEVs built it out on 64bit yet or not?  Its a memory utilization thing.
6. how often does the web app hit the database?
7. what kind of content is coming out of the database?
8. how big is a typical query result set?

For example, I've run production line-of-business web applications on virtualized servers with 2 CPUs (1 core each) with 4GB RAM in a 5 server web farm with a SQL backend.  It handled, comfortably, 150,000 unique users a day.  If I remember correctly, we never had more than 100 concurrent web sessions.  That being defined as 100 unique clients, simultaneously (to the millisecond) making http requests.

Dan
hi dan,

thanks for your answer, is there a tool that i can run on the live system to collect those metrics and after i collect the metrics how can i use them to decide hardware that i buy (cpu, ram , iops)
ASKER CERTIFIED SOLUTION
Avatar of Dan McFadden
Dan McFadden
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial