Skip navigation.

They call it memory Management...

non-functional testing | performance testing | perspectives
Some time ago I wrote about careless server CPU usage becoming an engineering practice. I want to continue with memory usage this time. Stateless servers (stateless EJB), state saving on user host (ASP .NET __ViewState) – those are the tools replacing intelligent memory usage policy. Given AJAX application movement I don’t think they are to survive.
Note: I decided to start writing something that I will call essays rather than “articles”. I have described reasons at the end of this blog.

The essay
Following is an imaginary conversation at a bar between an imaginary employee and his boss.

Me: I want to be a piece of RAM. I would only get one clear instruction at a time. And never get to do more than I am capable of – you would buy more RAM as you need.
Boss: Then I would like t a computer program allocating memory. I would be able to request any more memory space, as I need it.
Me: But you need to make sure to free that memory.
Boss: I would then want to be a JAVA program so that garbage collector does the work for me.
Me: Then I would love to be the piece of memory with a huge heap size. Imagine – when my task will be doe I could drink a beer for weeks and observe how the garbage collector seldom runs into the Bar to get a few most drunken employees back to work...
John from HRM a problem: no salary. The only payment is purchasing. Perhaps You would be slaves...

Further reading/considering
There are also a lot of hints on specific things like JAVA and MS Windows that may be useful for a performance tester.
There are great overall books like this one . Yes - there are quite a theory and algorithms behind memory management. And they are still improving.
Computer Memory Management only
in its simpler forms are limited to allocating pieces of memory and freeing them as no longer needed. More advanced features include concepts of virtual memory and it’s swapping, garbage collection etc. As far as I know there are also protection mechanisms in new OS that does not allow process to access memory it is not supposed to (not allocated).

Let’s take a look at definition of a term MANAGEMENT
and replace “a large group of people” with “computer memory”. It probably makes some sense. I’m sure however that you can’t compare complexity of two processes: managing project run by people and managing piece of hardware. People management is sapient, empirical process and you can’t hope to have an algorithm that will compete with any human if he is not the best manager in the world.

Endnote: why essay? Open for misinterpretation.
When I just started blogging I wrote my first essay. But discontinued that practice. Recently I’ve been told that my English cause a lot of misinterpretations. Yes I know I have poor and even somewhat wrong vocabulary. Sentence constructions are also sometimes weird. Nevertheless I see even people with English as first or even only language struggling to define terms or reinvent them a lot. For example look at redefining manual testing into sapient one. Or discussing term of agility , etc.

More over after some conversation I figured out following: when I’m up to some idea and describe that idea into an article or blog I provide all the reasoning to convince that my idea is reasonable. However that is no always the reasoning that I had when came to that idea. I will write essay as it gives me a freedom to only write an idea without reasoning. I welcome everyone to find their own reasoning for or against it. I welcome any misinterpretation of my ideas... if only that help you learn or discover something worth

Yes, AJAX is destiny. Trivial memory usage is doomed.

I’m sorry if I made myself unclear. I completely agree with Girts. Let me add my own reasoning.
When I say “Given AJAX application movement” I meant that the movement to rich UI is inevitable. The era of slow modems is gone. Network support the most dynamic user interface. And users get used to it very fast. People get used to everything convenient very fast. And companies are willing to pay money for server hardware. “A server host per 100 users is OK” – this is what I keep hearing from managers, despite publications about one-big supercomputer capable to serve 10 000 concurrent users. Do you know how much hosts Google is hosted on?
There are tools (and engineering techniques provoked by those tools) that avoid server memory usage at all. I don’t like the policy “zero memory footprint”. I believe those are tools and techniques that will not survive. I don’t know however.... This is only my hope that our industry will be able to use “reasonable small” footprint policy instead. Memory is cheap enough and business is willing to pay for it if it improves dynamics of applications.

Why is AJAX bad?

Why do you think Ajax is going to die? As I see the number of web sites using DHTML and asynchronous requests is growing rapidly.

When I first saw Ajax, I thought it was meant to decrease network traffic and server load. But actually the goal is different. Wikipedia says: "The intent is to make web pages feel more responsive by exchanging small amounts of data with the server behind the scenes, (..)".

As the experience shows, AJAX based pages require sometimes even more resources (including memory). But that's because they also offer pleasant features.

From the system administrator's point of view Ajax has one great advantage - possibility to move the fair part of load to client side.

And there is always a possibility to keep the business logic on the server and use client side only as a GUI. Echo2 does it exactly that way.

To one thing I can agree fully - developers are wasting system resources. The reason could be the following fact - human brain is much more expensive than hardware. It is easier to buy new servers than to teach developers to use good algorithms and data structures. The number of computer-users is growing while the number of IT specialists is decreasing.

Seems that I got a bit off the subject. I just wanted to say I don't believe that Ajax is going to leave the stage, at least in the immediate future.

Comment viewing options

Select your preferred way to display the comments and click 'Save settings' to activate your changes.