| |
![]() |
|
AutoPilot automates the proven but laborious tuning process of "test, analyze and tune" for WebLogic Server. With AutoPilot Auto Tuning you can start the process of WebLogic tuning and AutoPilot takes it from there. You need not be watching the process or WebLogic Console. You can get the final reports when the process is completed (You can run it overnight, after each update to your application.). AutoPilot would inform the administrator using email in case there is an issue during the process.
Process of AutoPilot Auto Tuning consists of following steps
Generates load for a user specified period
Keeps track of your application and WebLogic performance
Analyzes performance with in built knowledge and it makes intelligent decisions based on each run of the test.
Tunes, restarts WebLogic and follows the steps from 2 to 5 again unless user specified desired conditions are achieved.
To test and learn how AutoPilot auto tunes your WebLogic server, Avitek Medical Records (medrec) domain can be used. Medrec application comes as an example J2EE application from BEA and can be quickly created and setup for testing purposes. To emulate production like environment, this domain should have separate admin and managed server. Managed Server should be configured for remote start and stop from the console using node manager.
Test remote start/stop of managed server using the console (node manager should be configured and running).
Your/Medrec application should be deployed on managed server.
Make sure your/medrec application is working properly before starting tuning using AutoPilot 2005 Tune Wizard. If medrec is used for learning AutoPilot 2005 then you can test it by going to http://{your_managed_server_ip}: {you r_managed_server_port}/index.jsp.
For example
If you are working with a 10 CPU machine and you plan to run 5 JVMs on it in production environment, you should set the max cpu utilization for AutoPilot to 20 % (or a little bit less than that). This way AutoPilot would tune WebLogic and account for that 100 % of the CPU is not going to be available to a single JVM in production environments.
This value should also be used for considering that in production enviroment you wouldn't want all the CPU to be utilized 100%. You need to account for bursts or system activities at times. This # shoule be derived from the example above.
Keep in mind this property MaxCPUUtilization only comes in picture when AutoPilot is tuning WebLogic Servers and NOT in production monitoring or at any other time.
AutoPilot JVM Optimizer takes input from JVMParams.props in {ARCTURUS_HOME} directory. Before you start AutoPilot Tuning process you need to make sure you are using the JVMParams.props for the JVM that is used to run WebLogic. Arcturus supplies the JVMParams file for following JVMs
Sun JDK ----> JVMParams_SunJDK.props
BEA JRocket -----> JVMParams_BEAJRocket.props
You need to rename the appropriate file for your JVM to JVMParams.props eg. if you are using Sun JDK you will rename or copy {AutoPilot_Install_Dir}/Server/JVMParams_SunJDK.props to {ARCTURUS_HOME}/JVMParams.props
Below is the sample content of JVMParams.props for Sun JDK
autopilot.jvmparams.startargs=
autopilot.jvmparams.param10=
autopilot.jvmparams.param9=
autopilot.jvmparams.param8=
autopilot.jvmparams.param7=-XX\:+UseParallelGC -XX\:+UseAdaptiveSizePolicy
autopilot.jvmparams.param6=-Xms1024m -Xmx1024m -XX\:NewRatio\=3 -XX\:SurvivorRatio\=6 -Xincgc
autopilot.jvmparams.param5=-Xms1024m -Xmx1024m -XX\:NewRatio\=3 -XX\:SurvivorRatio\=6 -XX\:+UseConcMarkSweepGC -XX\:+UseParNewGC
autopilot.jvmparams.param4=-Xms1024m -Xmx1024m -XX\:NewRatio\=3 -XX\:SurvivorRatio\=6 -XX\:+UseConcMarkSweepGC
autopilot.jvmparams.param3=-Xms1024m -Xmx1024m -XX\:NewRatio\=3 -XX\:SurvivorRatio\=6 -XX\:+UseParallelGC
autopilot.jvmparams.param2=-Xms1024m -Xmx1024m -XX\:NewRatio\=3 -XX\:SurvivorRatio\=6
autopilot.jvmparams.param1=-Xms1024m -Xmx1024m
We recommend you modify JVMParams.props and put the configurations that you would want AutoPilot JVM Optimizer to try. At one time AutoPilot JVM Optimizer can try 10 configurations that are defined in autopilot.jvmparams.param1 to autopilot.jvmparams.param10. You can customize this file to try different initialization parameters for JVM. For example
autopilot.jvmparams.startargs=
autopilot.jvmparams.param10=-Xms1280m -Xmx1280m -XX\:NewRatio\=3 -XX\:SurvivorRatio\=6 -XX\:+UseConcMarkSweepGC
autopilot.jvmparams.param9=-Xms1280m -Xmx1280m -XX\:NewRatio\=3 -XX\:SurvivorRatio\=6 -XX\:+UseParallelGC
autopilot.jvmparams.param8=-Xms1280m -Xmx1280m -XX\:NewRatio\=3 -XX\:SurvivorRatio\=6
autopilot.jvmparams.param7=-XX\:+UseParallelGC -XX\:+UseAdaptiveSizePolicy
autopilot.jvmparams.param6=-Xms1024m -Xmx1024m -XX\:NewRatio\=3 -XX\:SurvivorRatio\=6 -Xincgc
autopilot.jvmparams.param5=-Xms1024m -Xmx1024m -XX\:NewRatio\=3 -XX\:SurvivorRatio\=6 -XX\:+UseConcMarkSweepGC -XX\:+UseParNewGC
autopilot.jvmparams.param4=-Xms1024m -Xmx1024m -XX\:NewRatio\=3 -XX\:SurvivorRatio\=6 -XX\:+UseConcMarkSweepGC
autopilot.jvmparams.param3=-Xms1024m -Xmx1024m -XX\:NewRatio\=3 -XX\:SurvivorRatio\=6 -XX\:+UseParallelGC
autopilot.jvmparams.param2=-Xms1024m -Xmx1024m -XX\:NewRatio\=3 -XX\:SurvivorRatio\=6
autopilot.jvmparams.param1=-Xms1024m -Xmx1024m
In the file above we are trying a combination of heap sizes (1024, not setting the size and 1280 MB) and AutoPilot will try & determine what configuration works the best.
As you can see, one can easily create JVMParams file for Initialization of other JVM. Arcturus Support can help if you need help with other JVMs JVMParam.props.
Once you have created the entries in the JVMParams.props and made it available in {ARCTURUS_HOME} you are good to start tuning of JVM and WebLogic. AutoPilot will automatically try all of the settings in the JVMParams.props and guide you with the optimal configuration.
Windows: To start the AutoPilot Tuning Wizard in Windows, select Start > Programs > Arcturus AutoPilot 2005 > AutoPilot Tune Wizard.
Unix: To start the AutoPilot Tuning Wizard in Unix, you can go to AutoPilot Install directory and execute ./AutoPilot_TuneWizard& AutoPilot Tune Wizard only runs in a graphical display mode. At the current time console mode is not supported.
When you initiate the AutoPilot Tuning Wizard on your selected platform, the Welcome screen illustrated below will be displayed. This screen introduces you to the AutoPilot Tuning Wizard by briefly describing the tuning process. While using the Tuning Wizard, you will be asked a few questions about your application environment and will be presented with a few settings related to your applications usage. This information allows Tune Wizard to appropriately tune the WebLogic Server.

Note about Managed Servers: AutoPilot only tunes one managed server at a time. When tuning is complete on the first server, you can replicate the configuration on other servers. AutoPilot also supports server clustering, and all of the servers can be running when one is being tuned. Once optimum configuration is achieved using AutoPilot Tune Wizard, that configuration will need to be copied to other members of the cluster manually.
Currently AutoPilot support use of JMeter for Load Generation. Shortly Load Runner will be supported for load generation too. Please contact Arcturus if you have requirement for integration of AutoPilot to any other load generation tool.

When Capacity Determiniation is Off, the tuner will tune the server for the load indicated by the first slider only. When the tuning has completed the process for that many emulated users, the process will be done, and the server will be tuned for the selected amount of users, without testing to see if more load can be handled by the server.
When Capacity Determination is On, the tuning process will run starting with the number load selected with the first slider, and will keep adding emulated users in increments of 5 until it reaches the number selected with the second slider. This prevents the tuner from adding load amounts that will never actually be experienced in a production environment. The number selected with the second slider should be the maximum number of users you expect to be accessing your server at one time.
If the server hangs during tuning, the AutoPilot Detector and AutoPilot Blackbox will be executed, and you will be able to determine the issue that caused the server to hang.

More samplings may mean the tuning may be more accurate. However, the higher the amount of samplings per session, the more time it will take to complete tuning.
The third slider on this screen is automatically set based on your selections for the other two sliders. It indicates the duration of time in seconds of each test.
You can start tuning right away or schedule tuning to automatically start at a later time. Scheduling comes handy when you want to start tuning in off hours.
If you schedule tuning to start at a later time waiting to start tuning screen shows until the time for tuning to start.
![]()
On start of the tuning WebLogic Tuning Status screen appears.

This screen is an example of what you will see at the beginning of the tuning process. A description of the parts of this screen follow.
Status Message Box: The top textbox contains messages that describe the progress of the tuning session.
Thread Box: This chart shows the number of samplings that have been taken so far.
Clock: This indicates the time that has elapsed since tuning began.
Test Progress: Indicates the percentage of tuning that has been completed.
Note: Do not press the Cancel button during tuning, because it will stop the process.
Image below is showing Tuning/Load Test in progress.

Image below is showing Tuning Completed for the desired load. It also shows when Capacity Determination is On AutoPilot Tune Wizard would bump up the load and re-tune unless desired max load is reached. AutoPilot also accounts for CPU utilization and can be configured to stop when a certain CPU utilization level is reached.
