web server - average memory

how much should be the average memory consumption for a web server. It is currently above 80%

windows server 2012 R2
64 bits
4GB of memory
IIS 8.5
enrique_aeoAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Colin_UKCommented:
That would depend entirely on the number of concurrent visitors and the memory consumption of each of those visitor processes.
Web servers need very little memory to serve HTTP requests, the excess usage is usually via the backend processing/scripting application ( ie: PHP, Ruby, ASP, .NET, Java etc).

Is 80% usage causing a problem? Can you easily add more?

Colin.
0
enrique_aeoAuthor Commented:
two application in ASP.NET
the user are in different country
the concurrency is low

It is slow when save in the database, in addition to sending email and message text

are application that consume SAP information through RFC's
0
Colin_UKCommented:
There are countless reasons why a server may appear 'slow' and without some more specific details it's hard to give any pointers, is that why you were asking about memory?

I must admit I'd never run a MS Server with anything less that 8GB and if it is going to perform web serving as well as file/printer/ad sharing then I'd be looking at 16GB+ as a rule. But could just be slow - what CPU & disk subsystem is in use?

The things you listed as slow do not seem to to point to anything other than 'a slow server' or a 'slow network'. What sort of Internet connectivity does this server have?

Could you provide a full spec list?
Along with a snippet of the IIS web log to see how busy the web server is?

Colin
0
Making Bulk Changes to Active Directory

Watch this video to see how easy it is to make mass changes to Active Directory from an external text file without using complicated scripts.

enrique_aeoAuthor Commented:
Please indicate what I must do to get this information

1. What sort of Internet connectivity does this server have?
2. Could you provide a full spec list?
3. Along with a snippet of the IIS web log to see how busy the web server is?
0
Dan McFaddenSystems EngineerCommented:
There is no way to say what is appropriate for your web server and the 2 ASP.NET apps that are hosted there.  You have to build a baseline of the is normal with something like PerfMon and go from there.

Without knowing exactly how those apps function, no one here on EE will be able to give you a valid anwser as to the average memory consumption.

IMO: an IIS Server with 16GB of RAM is overkill for only 2 apps.  First rule of putting web apps into Production:  know your application!  This is what a DEV or TEST environment is for.   If you do not have multiple environments, build the baseline in PROD, carefully.

As for the issue(s) you are experiencing, here is what I will ask:

0.  Is the IIS Server physical or virtual?
1.  What version of .NET Framework are the applications using?
2.  How many Application Pools are setup on the web server?
3.  Is the database server local or remote?  What is it... MSSQL, Oracle, MySQL, Access, etc.?
4.  How are the database server's data and log files configured?
5.  Are there any other applications (other than the web server) that are using the database server?
6.  How many daily users of the apps are there?
7.  Do the applications store session state somewhere?
8.  After an AppPool recycle, how quickly does the app(s) consume RAM?


This is web app troubleshooting 101.  Nothing advanced here.  If you don't know this, then you should speak to the developers about the questions.  To better understand what is going on in your server, these are important questions.

Dan
0
enrique_aeoAuthor Commented:
0.  Is the IIS Server physical or virtual?
virtual, view attached questio_01
1.  What version of .NET Framework are the applications using?
4.0
2.  How many Application Pools are setup on the web server?
not used Application Pools
3.  Is the database server local or remote?  What is it... MSSQL, Oracle, MySQL, Access, etc.?
remote - Oracle
4.  How are the database server's data and log files configured?
i do not understand
5.  Are there any other applications (other than the web server) that are using the database server?
Where do I verify it?
6.  How many daily users of the apps are there?
10 user. an app saves in database every 30 seconds
7.  Do the applications store session state somewhere?
i do not understand
8.  After an AppPool recycle, how quickly does the app(s) consume RAM?
i do not understand
questio_01.png
0
Dan McFaddenSystems EngineerCommented:
#2.   if you have deployed an ASP.NET application in IIS on Server 2012 R2, you must use Application Pools.  There is no way around it.
--- can you post a the output of the following commands, run them from a command prompt with Run as Admin:

C:\WINDOWS\system32\inetsrv\appcmd.exe list apppools

Open in new window

C:\WINDOWS\system32\inetsrv\appcmd.exe list sites

Open in new window


#5.  You need to speak with your Database Administrator(s) to get this answered.
#6.  How do you know that the app save data every 30 seconds?
#7.  You need to speak with the developer(s) to get this answered.

Are you troubleshooting an issue or is there another reason for asking the question?

Dan
1
enrique_aeoAuthor Commented:
#2.   if you have deployed an ASP.NET application in IIS on Server 2012 R2, you must use Application Pools.  There is no way around it.
Microsoft Windows [Version 6.3.9600]
(c) 2013 Microsoft Corporation. All rights reserved.

C:\Windows\system32>C:\WINDOWS\system32\inetsrv\appcmd.exe list apppools
APPPOOL "DefaultAppPool" (MgdVersion:v4.0,MgdMode:Integrated,state:Started)
APPPOOL ".NET v4.5 Classic" (MgdVersion:v4.0,MgdMode:Classic,state:Started)
APPPOOL ".NET v4.5" (MgdVersion:v4.0,MgdMode:Integrated,state:Started)

C:\Windows\system32>C:\WINDOWS\system32\inetsrv\appcmd.exe list sites
SITE "Default Web Site" (id:1,bindings:http/*:80:,state:Started)

C:\Windows\system32>


#6.  How do you know that the app save data every 30 seconds?
tha data save in a database (view column create_date)
0
Dan McFaddenSystems EngineerCommented:
So based on the output from the appcmd command, you are using the Default Web Site with the Default AppPool, with most likely all the default settings that Microsoft installs IIS with.

You have a single website running on this server.

The other 2 AppPools are created as an example of how to configure an AppPool for managed and unmanaged code.

Can you post a screen shot of the task manager with the Processes tab selected and the columns sorted by Memory?

Unless you can share more information about what the website does and how it works, it is very difficult to give you an estimate as to what normal resource consumption for your web site should be.

I will restate what I posted above:

There is no way to say what is appropriate for your web server and the 2 ASP.NET apps that are hosted there.  You have to build a baseline of the is normal with something like PerfMon and go from there.

Dan
0
enrique_aeoAuthor Commented:
view attached
process_task.png
0
Dan McFaddenSystems EngineerCommented:
So to me it does look like the websites are not consuming too much memory (nothing at all).  A better screen shot would be in Task manager from the "Details" tab with the following columns visible.

Name, PID, CPU, CPU Time Status, User Name, Working Set (memory(, Memory (private working set), Handles, Threads.

Then sorted by the Working Set column.

In the list should be 3 w3wp.exe processes, these are the AppPool worker processes.  I would be interesting to see their resouce consumption info.

Again, using PerfMon to monitor the server memory resource and specifically the w3wp.exe process consumption would be the best place to begin.  Monitoring over several days would give you a good place to track who is using what.

Dan
0
enrique_aeoAuthor Commented:
0
Dan McFaddenSystems EngineerCommented:
Is this server also being used as a terminal server?  I see at least 3 people logged in and running processes in their own user space.  This will kill a poorly configured server.  also, the IIS AppPool worker process is no where to be seen in the task manager screen shots.

IIS is not your issue.

This server being used for Terminal Services is the issue.  The server does not have enough resources to support server services and be a terminal server (remote desktop server).

Dan
0
enrique_aeoAuthor Commented:
I have access to the server by remote desktop to be able to deploy web applications, is there another way to do it?
0
David Johnson, CD, MVPOwnerCommented:
vmtools is your memory hog not IIS

access the network via vpn and then deploy
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Windows Server 2012

From novice to tech pro — start learning today.