0

We are reviewing performance on our business application, as there are significant differences in load times between regions and at different times of the day.

Amongst the things being reviewed is infrastructure, ie memory.

The spec of the server has 1GB of RAM, it appears the infrastructure team maybe against increasing the memory (I dont understand why).

On reviewing this image (y-axis is available megabytes), are they correct?

What argument can I use to persuade increasing the memory on the web server is necessary?

Memory Available on Web Server

Edits from answers.
OS: Windows Server 2003
Web Server: IIS6
Virtual Machine: Yes
Reports on Host Machine: Had already asked for them.
VM Web Server Hosts: .Net Application

Paul Rowland
  • 115
  • 8

3 Answers3

2

You need to profile your application and figure out what's actually running slowly, when, and why. You're grasping at straws if you just immediately try to throw more hardware at the problem, especially when your own numbers show that your memory is never completely utilized.

jgoldschrafe
  • 4,395
  • 18
  • 18
  • So to confirm, your answer is the infrastructure team is correct?? ie their is no reason to increase memory based on average utilistation of 70-90%. NB. This is just part of a bigger picture of determining what pages are slow, when and from where. – Paul Rowland Nov 04 '10 at 20:04
  • Jgoldschrafe is correct. Even if memory is an issue right now then without understanding *why* it's an issue (and why the infrastructure team are reluctant), demanding that they throw ram at it might not help. There seems to be a perception that "throw more memory at it" is a magic fix, especially for Microsoft OSes, and that's simply not true. If they double the amount of ram and nothing changes then what? One line from a graph means nothing without context. – Rob Moir Nov 04 '10 at 20:20
  • @Robert Moir. imho, if we double the RAM and nothing changes, then we have spent a very small amount and discounted a *possible* reason for slow performance. If I can add more detail to the question I'm happy too.. – Paul Rowland Nov 04 '10 at 20:37
  • @Paul - and if it was a physical machine I'd be the first to tell you that regardless of my comments about it not being a "magic fix", the cost of an upgrade from 1Gb to 2 or 4 isn't worth the time you've spent trying to investigate the problem in other ways and to spend the money in good health with my blessings. But you say the server is a VM and that does change the equation slightly. – Rob Moir Nov 04 '10 at 20:47
  • It's a waste of time to play the process-of-elimination game on every possible system variable that could be accounting for poor performance, especially when it might be many or none of them. You're going to get much better results if you take the time to figure out how to profile your application correctly and figure out where it's spending its time, and then determine your likely bottlenecks from there. Unless this is a database server, high memory usage rarely suggests a performance problem -- on the contrary, it represents properly-used hardware. You should be looking at swap in/out rates. – jgoldschrafe Nov 05 '10 at 12:50
  • @jgoldschrafe. what do you mean by "looking at swap in/out rates" – Paul Rowland Nov 06 '10 at 11:48
2

On reviewing this image (y-axis is available megabytes), are they correct?

From the information provided we can't tell.

The information in the graph tends to favour the null hypothesis (adding more memory won't help performance) but we'd need to know a lot more about what's going on here.

What usage is being reported here? On a Unix / Linux box, the OS will assign as much memory as available for disk caching - but some tools will report this memory as not being available - its a bit more complicated for Microsoft (which has several different management models). Some tools will report cache memory as available, some as not available.

What argument can I use to persuade increasing the memory on the web server is necessary?

There is significant variation in the memory usage throughout the day - enough that you should be able to demonstrate a relationship between available memory and response times (if one exists). But you need to know what you're actually measuring first.

symcbean
  • 21,009
  • 1
  • 31
  • 52
  • what do you mean by "What usage is being represented here".... are you asking for the exact type of report? It is Microsoft OS, what should I be asking about management models? – Paul Rowland Nov 04 '10 at 20:11
  • He probably wants to know what Perfmon counter or SNMP OID is being graphed. – mfinni Nov 04 '10 at 20:13
1

That you need more memory and that - brutally speaking - the talk with them already costs the company more in wages than the memory would cost. I was recently upgrading a server and 32gb DDR2 Registered RAMs were about 1500 USD. 1GB when under pressure is a non-issue to upgrade to at least the level of a decently powerfull workstation (4gb, 8gb, 16gb).

TomTom
  • 51,649
  • 7
  • 54
  • 136
  • Thats what I think as well... it just 'feels' very very wrong to be running the application we do on a server with this specification especially with the cost of memory being so cheap. But if someone says you barely go above 90% memory usage why do you want more? What is the technical answer to that question? – Paul Rowland Nov 04 '10 at 09:26
  • 3
    What about if this is a virtual machine running on a host that already has maximum RAM and the people responsible for it are playing the juggling game to try and satisfy the needs of all concerned? In such a case the cost of RAM isn't even a consideration. Bear in mind that the OP has told us NOTHING about the system in question, other than it currently has 1Gb (should be 1GB) of RAM. – John Gardeniers Nov 04 '10 at 10:50