Our vBulletin migration is complete.
Welcome vBulletin users! All content and user information from the Micro Focus Forums (vBulletin) site has been migrated to this site. READ MORE.

Using Silk Performer Workbench to load test CORBA applications

Using Silk Performer Workbench to load test CORBA applications

About Silk Performer

Silk Performer is the enterprise-class solution for software-application performance, load, and stress testing. Silk Performer is used to assess the performance of Internet servers, database servers, distributed applications, and middleware, both before and after they are fully developed. Silk Performer helps you to quickly and cost-effectively produce reliable, high-quality application solutions.

Steps to load test your CORBA applications

Silk Performer Version Tested: Silk Performer 15.5.

The following are the steps on how to load test your CORBA applications developed using VisiBroker 8.5 SP2 or Orbix 3.3.12/6.3.6.

1. First step is to launch Silk Performer and you will be presented with an Workbench where you can record, playback and simulate VUser.

2. Then, create a project in File->New Project. The type of the project should be Application Server/Component Models -> Corba (IIOP) and enter the name and description of the project.

3. Then you need to create a Profile for recording your application. A project can contain as many different profiles as necessary, each with its own project-specific settings. In each profile, options can be set to manage how the Silk Performer Recorder generates scripts from recorded traffic. Options can also be set for the protocols that are used during recording, and simulation settings can be defined for script replay.

With respect to CORBA, you can configure CORBA/IIOP recording options, including ORB, IDL, and preprocessor-argument options, configure WChar/WString options including encoding and code-setting options and configure CORBA/IIOP replay options, including chunk sizes and fragmentation before running a test.

4. After setting up the profile, you can start recording the clients. However, before that, make sure you have started your CORBA servers. Refer to the ORBs Tested section below on how the servers need to be started.

5. Silk Performer need to capture the actions of the client before simulating VUser. Refer to the ORBs Tested section below on how different ORB clients need to be configured to record them.

6. The actions of the clients are captured by using Silk Performer Recorder. This can be invoked by pressing on the Model Script located on the Toolbar Silk Performer Workbench. Pressing it will pops up a dialog for the user to select the type of recording to record. Once the user has selected the setting, the recording starts. The user must then execute the steps of the simulation that the user want to record.

7. Upon completing the recording, save the BDF script and allows it to be added to the project Scripts Tree Node. By default, Silk Performer will create a new BDF with a single VUser. This VUser will have all the script commands generated by the recorder.

8. The script has to be tested in order to see if the script is working correctly. This can be done by clicking on the Try Script. A dialog box will pops up and user must select the VUser that it wants to check.

9. Before starting to simulate loading, you must first create a baseline by using the Run->Find Baseline and then Set as baseline for the Silk Performer to use it as a point of reference. You cannot proceed to the next stage unless this is done.

10. Once a baseline is established and confirmed, the next step in the process of conducting a Silk Performer load test is to define one or more user types using Define User Types for the active workload. A user type is a unique combination of a script, a user group, and a profile. By selecting a user type, you determine which script will be executed with which user group and profile.

11. Then, click Next to start the simulation by selecting Adjust Workload. There are many options avaliable for simulation. For example, Increasing mode to simulate increasing growth of VUsers, Steady mode for concurrent starting of VUsers, Queuing mode for simulating VUsers that are added batch by batch.

12. Then, click Next to Assign agents. This is to configure the distribution of virtual users in your load testing environment and assign VUsers to specific agents, agent clusters, or cloud agents. Agent computers host the virtual users that are run during load tests.

13. You can also assign agents manually by choosing static or dynamic assignment. The static assignment is used to statically assign specific agent computers (rather than clusters of agents) to your project and with dynamic assignment, workload is delivered using dynamic agent-assignment at execution time against the project's agents.

14. Then, click Next to Configure monitoring. With monitoring, you can view server performance in a live, graphical display as tests run. Monitoring also reveals, locates, and resolves server bottlenecks, allowing you to examine the performance of operating systems and application servers.

15. Then, click Next to start the simulation. After choosing the BDF script and entering the Max. VUsers that you are simulating into the dialog box, click Run.

16. Depending on the Mode selected, you will need to specify the length of simulation.

You could also set the simulation time as zero and the script will be executed once. This is normally used to troubleshoot the recorded script.

17. Once the simulation is completed, users can the click on the Explore Results to view the results gathered by the load testing. Then you can either Explore detailed report or Analyze load test and also generate the results to HTML for future reference.

ORBs Tested

The ORBs tested with Silk Performer 15.5 for this article are VisiBroker 8.5 SP2, Orbix 6.3.6 and Orbix 3.3.12. However, the customers should be able to test their CORBA applications built other CORBA compliant ORBs(for example TAO) using Silk Performer.

The following are the points that need to be considered when testing the CORBA applications built with either VisiBroker 8.5 SP2 or Orbix 6.3.6/3.3.12.

VisiBroker 8.5 SP2

VB 8.5 SP2 C++

       C++ Servers/Services

  • Remember to turn off the local IPC using vbroker.se.default.local.manager.enabled.
  • Disable Smart Agent if not used by setting the vbroker.agent.enableLocator to false.
  • Fix the IIOP listener port using the vbroker.se.iiop_tp.scm.iiop_tp.listener.port property to avoid the server using the random port.

       C++ Clients

  • The best way to record C++ clients is to include the location and the executable that you are recording into the Settings-> System-> Recorder.
  • Disable Smart Agent if not used by setting the vbroker.agent.enableLocator to false.
  • Set <VBROKERDIR>/bin in the system PATH environment variable to record C++ client. Note that Silk Performer needs to be restarted for the PATH to take effect.

       Example

  • Test case: <VBROKERDIR>/examples/vbroker/basic/bank_portable example.

       C++ Server startup script

  • Server -Dvbroker.agent.enableLocator=false -Dvbroker.se.default.local.manager.enabled=false -Dvbroker.se.iiop_tp.scm.iiop_tp.listener.port=18000

       C++ Client

  • <VBROKERDIR>/examples/vbroker/basic/bank_portable\Client.exe is added in the Settings-> System-> Recorder and the script is recorded with -Dvbroker.agent.enableLocator=false parameter to disable Smart Agent.

VB 8.5 SP2 Java

      Java Servers/Services

  • Disable Smart Agent if not used by setting the vbroker.agent.enableLocator to false.
  • Fix the IIOP listener port using the vbroker.se.iiop_tp.scm.iiop_tp.listener.port property to avoid the server using the random port.

      Java Clients

  • The best way to record Java clients is to VBJ executable into the Settings-> System-> Recorder.
  • Disable Smart Agent if not used by setting the vbroker.agent.enableLocator to false.

      Example

  • Test case: <VBROKERDIR>/examples/vbroker/basic/bank_portable example.

      Java Server startup script

  • vbj -Dvbroker.agent.enableLocator=false -Dvbroker.se.iiop_tp.scm.iiop_tp.listener.port=18001 Server

      Java Client

  • <VBROKERDIR>/bin/vbj.exe is added in Settings-> System-> Recorder and the script is recorded with -classpath/p C:\Work\SilkPerformer\VisiBroker\Testcases\portable\ -Dvbroker.agent.enableLocator=false Client C:\Work\SilkPerformer\VisiBroker\Testcases\portable\bank.ior parameter to disable Smart Agent.



Orbix 6.3.6

Orbix 6.3.6 C++

      C++ Servers/Services

  • Use DIRECT_PERSISTENCE POA policy if locator and node daemon services need not be used.
  • Fix the IIOP listener port using port policies:iiop:server_address_mode_policy:port_range parameter.

      C++ Client

  • The best way to record C++ clients is to include the location and the executable that you are recording into the Settings-> System-> Recorder.
  • Set <ORBIX6.3.6>/bin in the system PATH environment variable to record C++ client. Note that Silk Performer needs to be restarted for the PATH to take effect.

      Example

  • Test case: <Orbix6.3.6>\asp\6.3\demos\corba\standard\simple_persistent example.

      C++ Server startup script

  • server .\server.ior
  • Make sure the server is modified to use DIRECT_PERSISTENCE POA policy so that locator and node daemon services is not needed.

      CPP client

  • <Orbix6.3.6>\asp\6.3\demos\corba\standard\simple_persistent\cxx-client\client.exe is added in Settings-> System-> Recorder and the script is recorded with ..\cxx_server\server.ior -ORBdomain_name sample-domain -ORBconfig_domains_dir C:\MicroFocus\Orbix6.3.6\etc\domains parameters.

Orbix 6.3.6 Java

      Java Servers/Services

  • Use DIRECT_PERSISTENCE POA policy if locator and node daemon services need not be used.
  • Fix the IIOP listener port using port policies:iiop:server_address_mode_policy:port_range parameter.

      Java Client

  • Add the Java executable in the Settings-> System-> Recorder.

      Example

  • Test case: <Orbix6.3.6>\asp\6.3\demos\corba\standard\simple_persistent example

      Java Server startup script

  • java -classpath .\java\classes;%CLASSPATH% simple_persistent.Server .\server.ior
  • Make sure the server is modified to use DIRECT_PERSISTENCE POA policy so that locator and node daemon services is not needed.

      Java client

  • Java executable is added in Settings-> System-> Recorder and the script is recorded with          -classpath C:\Work\SilkPerformer\Orbix\Testcase\6.3.6\simple_persistent\java\classes;C:\MICROF~1\ORBIX6~1.6\asp\6.3\lib\asp-corba.jar; simple_persistent.Client -file server.ior -ORBdomain_name sample-domain -ORBconfig_domains_dir C:\MicroFocus\Orbix6.3.6\etc\domains parameters.



Orbix 3.3.12

Orbix 3.3.12 Java

      Java Servers/Services

  • Register the server as persistent in orbix daemon to start the server instance manually. If the requirement is to use the orbix daemon to span server instances, then register the server executable with the orbix daemon.
  • Fix the listener port using -port <port> parameter of putit or putitj tool.

      Java Client

  • Add the Java executable in the Settings-> System-> Recorder.

      Example

  • Test case: <Orbix3.3_SP12_32>\demos\common\banksimple example

      Java Server startup script

  • Server.bat

      Java client

  • Java executable is added in Settings-> System-> Recorder and the script is recorded with -Xbootclasspath:"C:\MicroFocus\Orbix3.3_SP12_32lib\OrbixNames.jar;C:\MicroFocus\Orbix3.3_SP12_32lib\OrbixWeb.jar;C:\MicroFocus\Orbix3.3_SP12_32\lib\OrbixSSL.jar;C:\Program Files (x86)\Java\jre7\lib\rt.jar" -Dorg.omg.CORBA.ORBClass=IE.Iona.OrbixWeb.CORBA.ORB -Dorg.omg.CORBA.ORBSingletonClass=IE.Iona.OrbixWeb.CORBA.singletonORB  -classpath C:\MicroFocus\Orbix3.3_SP12_32\config;C:\MicroFocus\Orbix3.3_SP12_32\demos\classes\ Demos.BankSimple.Client parameters.

DISCLAIMER:

Some content on Community Tips & Information pages is not officially supported by Micro Focus. Please refer to our Terms of Use for more detail.
Version history
Revision #:
1 of 1
Last update:
‎2014-12-16 03:05
Updated by:
 
The opinions expressed above are the personal opinions of the authors, not of Micro Focus. By using this site, you accept the Terms of Use and Rules of Participation. Certain versions of content ("Material") accessible here may contain branding from Hewlett-Packard Company (now HP Inc.) and Hewlett Packard Enterprise Company. As of September 1, 2017, the Material is now offered by Micro Focus, a separately owned and operated company. Any reference to the HP and Hewlett Packard Enterprise/HPE marks is historical in nature, and the HP and Hewlett Packard Enterprise/HPE marks are the property of their respective owners.