Re: ? runform -e and runform -r, pauses?

From: Ruth Ann L. Larson <rlarson_at_relay.nswc.navy.mil>
Date: Wed, 19 Jan 1994 14:41:33 GMT
Message-ID: <1994Jan19.144133.3856_at_newserver.uucp>


In article <bamon-160194144748_at_amon.cc.oberlin.edu> bamon_at_ocvaxc.cc.oberlin.edu (Jennifer R. Amon) writes:
>I'm using: runform -e filename formname un/pw
> and: runform -r filename formname un/pw
>
>I have 40 of these files, all can be run repeatedly and simultaneously,
>because their actions are circular (do something and then undo it), and
>because each file deals with a different subset of data.
>
>I'm going to run these all at once to do a load test. We want to see
>just how 40 users of the same complex form will drag down our VAX/VMS
>system.
>
>I'm afraid, though, that I'm not going to get a realistic test, because
>there doesn't seem to be any way to build in the natural pauses - you
>know - when the user is thinking or reading what's on the screen, instead
>of just plowing ahead with the next keystrokes.
>
>Is there any "pause(5)" or "wait(5)" or something like that, to allow me
>to insert 5-second pauses into the keystroke files? I looked in the doc,
>but I don't see anything. Or, must I just extrapolate the load to be
>something between no users running the form and 40 users running the form?
>
>Any suggestions?
>
>BTW, Thanks much to those who sent me the command to redefine sys$input.
>I had tried that, but I had had sys$input and sys$command reversed. Duh!
>
>Thanks,
> Jennifer
>_____________________________________________________________________
>Jennifer R. Amon PHONE: (216) 775-6987
>Houck Computing Center FAX: (216) 775-8573
>Oberlin College
>Oberlin, OH 44074 INTERNET: bamon_at_ocvaxc.cc.oberlin.edu
>_____________________________________________________________________

First, if you can, get ahold of the International Oracle Users Journal 2, and read the article by Clausen, Eshelman, and Nash on "Techniques for Benchmarking a SQL*Forms Application Using Automated Scripts".

I used the ideas in this article to do something quite similar a couple of years ago. Basically, define some key you don't use otherwise as a <Pause> (they and I used Clear-Form) and write a user exit to something that can do a random pause (they used C, I used Fortran because that's what I had). You can probably edit the keystroke file to just add it here and there - I assumed that all pauses could be "gathered" into a couple per form, rather than after each field - you *do* want them to be random with some sort of distribution.

        Other things to consider: Don't start all x jobs at the same instant - validation seems to put a pretty heavy load on Oracle, you really want to hit some sort of "steady state" after a few minutes. It doesn't matter whether they start at random intervals, one every y seconds will work just as well.

        Another consideration is what kind of block retrievals you're assuming. If your db_block_buffers can hold everything your 40 sample forms runs will access, you'll get much better response than if you are requiring everything to be fetched from disk. Do you want to test "worst-case" (everything fresh from disk) or something between that and everything in buffers? You'll probably need to do some analysis of your data to see where you fall. I took the biggest table and did forms runs such that every record required data from a different block, thereby assuring that I had "worst-case" and everything being fetched from disk.

        Handy also would be some way at system-level to see how many of these jobs are actually running at a given time, and what your cpu usage actually is. I also found it useful to look at start to end time of the jobs (I ran about 15-minute jobs) - if the time started to increase significantly I was close to "breaking" the machine.

        Feel free to email if you have any further questions. Hope this is of some use.

				Ruth Larson
				rlarson_at_relay.nswc.navy.mil
Received on Wed Jan 19 1994 - 15:41:33 CET

Original text of this message