Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

AIX Stress Testing

436 views
Skip to first unread message

Johne

unread,
Nov 3, 2000, 7:27:33 AM11/3/00
to
I am supporting a new development for my company, which will be
implemented on an AIX platform. Currently, I am investigating methods
of stress testing the new product, using the AIX OS. I have come up
with 5 tasks, and a potential solution for each one. Does anyone have a
better method of achieving any of these tasks, as I have only been
working on AIX (unix) for about 6 weeks?

1) Fill up the memory of the AIX OS.

S. - create a large number of variables, each loaded with the contents
of a file. Alternatively, use the rmss command to reduce available
memory.

2) - Fill up disk space

s. Append multiple files to a single location (filename) on disk.

3) Heavy disk activity

s. continuous reading and writing of a file to disk. Could two scripts
read and write simulateously?

4) Heavy memory activity
- as task 1 - either variables or rmss command. Load and unload into
memory.

5) Fill memory to force paging.
As task 1 & 4

Could any replies pse be posted to me email account as well as the ng.

Thanks in anticipation.


Sent via Deja.com http://www.deja.com/
Before you buy.

Rodney Clark

unread,
Nov 3, 2000, 7:50:44 AM11/3/00
to
You could try bonnie for generating disk i/o
for memory allocation write a silly c program that allocates memmory using
malloc.
and run lot's of them
With disk I/O defeating o/s caching can be a challenge and sequential i/o's
are easily detected by the o/s

Heck why not just install an Oracle database their dammed good memory disk
cpu hogs.


Johne <n43...@my-deja.com> wrote in message
news:8tuavh$4eg$1...@nnrp1.deja.com...

Kevin Brand

unread,
Nov 3, 2000, 11:18:00 AM11/3/00
to

Just be sure your silly c program initializes the memory, otherwise it'll
never actually get allocated in the paging space and your program will do
you no good at all. Below is a good example. It will grab and initialize
10MB of memory and hold it for a defined amount of time before releasing it
back to the OS ( disclaim ) and grabbing it again. Choose your weapon in
terms of how you want to "free" the memory. I chose disclaim as it does
exercise the vmm quite a lot better than free. You could fire up a few
hundred ( depending on your memory/swap configuration and the amount of real
memory ) of these little things and watch your memory subsystem start
thrashing.

----- snip -------
#include <stdio.h>
#include <malloc.h>
#include <sys/shm.h>

#define BYTES 10000000

main()
{

char *walk, *p, *q;
char *save_addr;

while ( 1 )
{
p = (char *)malloc( BYTES ); /* ask for BYTES */
save_addr=p; /* save starting addr */
q = p + BYTES; /* get end-point */
while ( p != q ) *p++ = 1; /* walk through,
initializing every byte */
sleep ( 10 ); /* hold for X seconds */
/* release the memory to the OS */
disclaim ( save_addr, BYTES, ZERO_MEM);

/*free(save_addr);*/
printf("done\n\n");
} /* do it again */

}
------- end snip -----

As for getting past the file cache during I/O loading, just use raw I/O.
Build several LV's in your target configuration ( stripe, stripe + mirror,
RAID5, RAID0, etc... ), then use dd with a fairly large block size to
saturate the LV's with reads. You can even use the same for writing to
LV's. Also, there's no need to initialize the LV's with any data, as dd
will read the disk blocks regardless of whether there's anything there.

Just for grins:

Yes, Oracle likes to use as much resources ( memory/disk ) as you allow
it. And, Yes, Oracle can be a major CPU consumer too. However, in many
cases, if it weren't for Oracle and the folks who purchase and utilize it,
there would be no need for large SMP systems with loads of capacity ( note
that I did use the phrase "in many cases" ). So, don't bite the gift horse.

"Rodney Clark" <Rodney...@zonnet.nl> wrote in message
news:MAyM5.29955$tL4.372779@zonnet-reader-1...

Nicholas Dronen

unread,
Nov 3, 2000, 9:15:56 PM11/3/00
to
Johne <n43...@my-deja.com> wrote:
> I am supporting a new development for my company, which will be
> implemented on an AIX platform. Currently, I am investigating methods
> of stress testing the new product, using the AIX OS. I have come up
> with 5 tasks, and a potential solution for each one. Does anyone have a
> better method of achieving any of these tasks, as I have only been
> working on AIX (unix) for about 6 weeks?

> 4) Heavy memory activity


> - as task 1 - either variables or rmss command. Load and unload into
> memory.

To limit memory, rmss is the way to go.

To hog available memory and induce paging, try
Juan Quintala's mmap program.

http://carpanta.dc.fi.udc.es/~quintela/memtest/

Regards,

Nick Dronen

0 new messages