Sample InetMonitor Test Scripts

August 1999

Microsoft Corporation

Introduction

The Simulator component of Microsoft® Site Server 3.0 Commerce Edition InetMonitor (previously released as InetLoad) provides the load generation engine for InetMonitor. Simulator allows you to forecast server loads and future hardware needs by simulating the effect of thousands of users gaining access to your servers. By writing the appropriate InetMonitor scripts, you can simulate any type of client or user behavior.

The Site Server 3.0 Commerce Edition Resource Kit includes four InetMonitor sample simulation scripts to be used with the InetMonitor Simulator component. The sample simulation script includes addldapuser.txt.

Working with the Simulator Component

In order to use InetMonitor scripts, you must install InetMonitor.

Before installing InetMonitor, consult the InetMonitor Operations Guide for system requirements. The Operations Guide is located in the same directory tree as the inetmon tool. It is called rk_inetmon.doc.

Note   Confirm that the Simulator computer is connected to the server by means of a local area network (LAN). Also confirm that the simulator has security access to the Perfmon counters of the server.

Installing InetMonitor

To install InetMonitor, open Microsoft® Windows NT® Explorer, navigate to the SS3RK\reskit\tools\inetmonitor directory and double-click on the inetmon31-x86.exe file. Follow the setup instructions.

To open InetMonitor, click Start, point to Programs, point to Capacity Planning, and then click InetMonitor.

Using the Simulator Component

To gain access to the Simulator component, on the View menu, click Simulation View. You can also gain access by clicking the Simulation View button on the toolbar, or by pressing CTRL+G.

When the Simulator View frame appears, a series of protocol tabs is visible with the Test Status Panel directly below. Each protocol tab can be used to enter values for simulation scripts. You can either type entries in the various fields or open an InetMonitor Configuration file (with the .inm extension), which completes them for you.

To do the latter, click Open on the File menu and select an .inm file. You can save your configurations by clicking Save on the File menu.

The Operating the Simulator section of the InetMonitor Operations Guide provides details about the Simulator entry fields.

The Test Status Panel presents a list of counters that populate as the simulation is running. Some counters may not apply to some simulations.

After you have entered the appropriate information in the tab pane, you can click Run Simulation under the Simulation menu (or click the Run Simulation button, or press the shortcut keys CTRL+R) to start the simulation.

As the test runs, the status counters in the Test Status Panel will show the number of errors and successful operations.

Working with InetMonitor Scripting

InetMonitor's scripting capabilities allow you to simulate user actions according to the user profiles you create. The scripts translate the user profiles into commands. InetMonitor includes commands specific to each protocol, as well as some shared commands that are common to all of the protocols. It also includes global macros that increase the usability of the scripting language.

For information about using InetMonitor scripting, refer to the InetMonitor application WinHelp menu under Reference Book and Scripting Commands. This information can also be found in Appendix B of the InetMonitor Operations Guide.

InetMonitor scripting files can be created in any text editor (such as Notepad) and should be saved as .txt files.

Additional sample files are available in the Samples directory under the InetMonitor directory. These supplemental scripts are not documented. To use the supplemental scripts, open the tst.inm file located in the /InetMonitor/samples directory.

Note   Before you can run these scripts, you must type your server name in the Target Server input box.

Using the Addldapuser.txt Sample Simulation Script

The Addldapuser.txt simulation script creates a preset quantity of user accounts. The script assigns the minimum required properties: account name andaccount password.

The accounts are named “userX”, where X is some number between one and the total number of accounts to be created (the script defaults to 10,000). The account password is the same as the account name.

Preparing the Sample Script for your Servers

The default addldapuser.txt sample script is as follows:

CONNECT
BINDSIMPLE dn=cn=administrator, ou=members, o=teststress; password=Nevermind;
ADD dn=cn=userSEQUNUMBER(1,10000,xxx), ou=members, o=teststress; objectClass=member; guid=RANDNUMERIC(32); userPassword=userSAMESEQUNUMBER SLEEP 200
QUIT

The xxx in the SEQUNUMBER parameter list is an identifier for that sequence. If you want to have more than one sequence of numbers at the same time, you can use the third parameter to identify each one.

Before running the Addldapuser.txt sample script, you must replace the generic data with appropriate information from your system configuration.

To accomplish this, perform the following steps

  1. Change Nevermind to your administrator password, because the script binds to the LDAP server using the administrator account and password.

  2. In the current configuration, O (the membership directory to which the accounts will be added) is set to teststress. All instances of teststress in the sample script must be changed to the target membership directory.

  3. OPTIONAL: You can increase the number of accounts created by changing the value of 10000 in the first line of the ADD command.

Running the Addldapuser.txt Script in InetMonitor Simulator

Perform the following steps to run the simulator script

  1. Open InetMonitor.

  2. Click Simulation View under the View menu, or click the Simulation View button on the toolbar, or press the shortcut keys CTRL+G.

  3. Click the LDAP tab.

  4. Enter the name of the target server in the Target Server: Port text box. If you do not want to use the default port, enter the name of a different port after the colon.

  5. Uncheck the Logging Active checkbox.

  6. Uncheck the Using Client side SSL checkbox.

  7. Enter the script path and file in the Command Script text box.

  8. Select an authentication method from the Authentication drop-down list.

  9. Leave all other entry boxes at their default values.

  10. Click Run Simulation under the Simulation menu, or click the Run Simulation button on the toolbar, or press the shortcut keys CTRL+R.

SQL Transaction Log Files on Large Account Creation Simulations

The SQL transaction log file of the Addldapuser.txt script may become overloaded when creating millions of accounts. This occurs because each CONNECT/QUIT process in InetMonitor scripting is one SQL transaction, which renders the TRUNCATE command ineffective. To avoid exceeding the SQL transaction log file capacity when simulating millions of account creations, create the accounts in increments of 250,000 and use several CONNECT/QUIT pairs. This will break up the simulation into several SQL transactions, protecting the SQL log file from overloading.

The following is a code snippet that shows how to create accounts in increments of 250,000.

CONNECT
LOOP 250000
ADD
dn=cn=userSEQUNUMBER(1,250000,xxx), ou=members, o-teststress; objectClass=Member; guid=RANDNUMERIC(32); 
ENDLOOP
QUIT
CONNECT
LOOP 250000
ADD
dn=cn=userSEQUNUMBER(250000,500000,xxx), ou=members, o-teststress; objectClass=Member; guid=RANDNUMERIC(32); userPassword=userSAMESEQNUMBER; ENDLOOP
QUIT

This code snippet creates 500,000 user accounts and two SQL transactions. By increasing the number of loops in the script file, and changing the SEQUNUMBER parameters, you can increase the number of accounts and transactions.

Information in this document, including URL and other Internet web site references, is subject to change without notice.  The entire risk of the use or the results of the use of this resource kit remains with the user.  This resource kit is not supported and is provided as is without warranty of any kind, either express or implied.  The example companies, organizations, products, people and events depicted herein are fictitious.  No association with any real company, organization, product, person or event is intended or should be inferred.  Complying with all applicable copyright laws is the responsibility of the user.  Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft Corporation.

Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document.  Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property.

© 1998-2000 Microsoft Corporation.  All rights reserved.

Microsoft, Windows, and Windows NT are either registered trademarks or trademarks of Microsoft Corporation in the U.S.A. and/or other countries/regions.

The names of actual companies and products mentioned herein may be the trademarks of their respective owners.