Troubleshooting HCL Campaign Performance

Performance depends on many factors, including your database and web server configuration, network connectivity, and HCL® Campaign and HCL Marketing Platform configuration.

The following list provides a number of suggestions that may help to improve performance. Use this list to quickly identify possible areas for improvement, so you can make adjustments and rule out possible causes. In cases where more information is available, each suggestion points to the appropriate guide where you can find detailed information.

Web application server

  • If you are using WebSphere, check the JVM heap size specified in the WebSphere profile. Typically, an initial setting of 512 and a maximum of 1024 (or depending on the server configuration) should suffice.
  • If you are using WebLogic, set the JVM memory heap size parameters to 1024 by adding the following line to the setDomainEnv script: Set MEM_ARGS=-Xms1024m -Xmx1024m -XX:MaxPermSize=256m
  • Under certain circumstances, deploying older legacy interactive channels or interactive channels with large deployment histories can stress the system and require 2048mb or greater of Campaign designtime and/or Interact runtime Java heap space.

    System administrators can adjust the amount of memory available to the deployment systems via the following JVM parameters:

    -Xms####m -Xmx####m -XX:MaxPermSize=256m

    Where the characters #### should be 2048 or higher (depending on their system load.) Note that a 64-bit application server and JVM are usually necessary for values greater than 2048.

  • If you are using WebLogic, depending on which version of Campaign you are running, you may need to apply a patch (for Weblogic 10gR3). Or, for WebLogic 11gR1, you may need to explode the campaign war file, make certain changes, then rebuild the war file. For details, see the Installation or Upgrade Guide for the version of HCL Campaign that you are running. Also, see the HCL® Marketing Software Recommended Software Environments and Minimum System Requirements.

Database

  • Check with your DBA to see if your database is heavily loaded with other applications.
  • Perform database tuning, as described in the HCL Campaign Tuning Guide.
  • Configure database load utilities, as described in the HCL Campaign Administrator's Guide.
  • If you created a new audience level, then your DBA created a table in the HCL Campaign system database to store response history for that audience level. Be sure the new table is indexed to improve performance.

HCL Campaign tools

  • Delete orphaned temp files and tables on the application server. You can use the HCL Campaign cleanup utility (unica_acclean) to identify and then delete all orphaned temporary files and database tables in the current partition. The cleanup utility can be used on both the HCL Campaign system tables database and on user tables databases. For instructions, see the HCL Campaign Administrator's Guide.
  • Use the HCL Campaign Server Manager (unica_svradm) to see if any unnecessary unica_acsvr processes are running in the background. The Status command identifies disconnected or orphaned processes. The kill command (kill -p processid#) removes the unnecessary processes. For a list of available commands and syntax, use the Help command or see the HCL Campaign Administrator's Guide.

Logging

  • Confirm that the logging level is not set to DEBUG in the log4j.properties file for HCL Campaign (<Campaign_home>/conf/campaign_log4j.properties) and HCL Marketing Platform (<Platform_home>/conf/log4j.properties).
  • Confirm that the configuration property Campaign|partitions|partition [n]|server| logging|loggingLevels is not set to ALL. This setting generates a large amount of data and therefore is not advisable for production operation.
  • Setting any logging level higher than its default can adversely affect performance.
  • Examine the HCL Campaign log files to identify possible issues. For example, look for warnings that occur repeatedly. There are log files for listeners, the web application, web connections, flowcharts, sessions, and other areas of the application. By default, most log files are in <Campaign_home>/logs and <Campaign_home>/partitions/partition [n]/logs. If you have a clustered listener configuration, additional log files are in the equivalent directories under <campaignSharedHome>. For more information, read about logging administration in the HCL Campaign Administrator's Guide.

Configuration

  • Adjust the performance-related configuration settings as described in the HCL Campaign Tuning Guide.
  • Look at the configuration properties in the Campaign|caching category (for example, offerTemplateDataTTLSeconds) to see how often the cache is refreshed. The default value is 600 (10 minutes). Smaller values result in more frequent cache updates, which can adversely affect performance by consuming processing resources on both the web server and the database. Configuration properties are described in the HCL Campaign Administrator's Guide.

Reports

If you have HCL Cognos reports on your dashboards, be aware that reports require additional processing resources. Performance can become an issue when many users access dashboards that contain many reports on a regular basis. HCL Cognos report portlets are the most resource-intensive.

For improved performance, use HCL Cognos to schedule reports, then configure the portlet in HCL Marketing Platform so it uses the schedule. For more information, read about HCL Cognos report performance considerations in the HCL Marketing Platform Administrator's Guide.

Flowcharts

  • Use in-database optimization, as described in the HCL Campaign Tuning Guide.
  • Adjust configuration settings that affect flowchart performance, as described in the HCL Campaign Tuning Guide.
  • Consider using the Extract process to select fields from one table and write them out to another table for subsequent processing. The Extract process is designed to pare down a large amount of data to a manageable size for subsequent operations, which can result in performance improvements. For more information, see the HCL Campaign User's Guide.
  • Use the HCL Marketing Software Scheduler instead of the Schedule process in flowcharts. The HCL Marketing Software Scheduler is more efficient, as it does not consume server system resources when the flowchart is not running.

    Use throttling to manage performance when many processes are likely to place high demands on the system. Throttling is based on scheduler groups that you set up on the Settings > Configuration page. You assign a throttling threshold to a group, and associate schedules with that group. For more information, see the HCL Marketing Platform Administrator's Guide.

  • Avoid profiling fields whose values are mostly unique, such as the Audience ID field. The Profile feature is more efficient (and useful) on fields with a smaller number of distinct values.

Table mapping

  • Map an audience's segment membership table only if you plan to use that audience in flowcharts or HCL Contact Optimization sessions that use strategic segments. Strategic segments are persistent segments that can be used in multiple flowcharts or sessions. You create strategic segments by running the CreateSeg process in a session flowchart and saving the results. If you are not using strategic segments, do not map the segment membership table. Using strategic segments in HCL Campaign flowcharts or Contact Optimization sessions is optional. If you map the segment membership table, HCL Campaign or Contact Optimization updates the table each time that you run the flowchart or Optimize session. This is unnecessary processing overhead if you are not using strategic segments. For more information, see the HCL Campaign Administrator's Guide.
  • When you map user tables, be aware that the Allow real-time profiling option requires a database query each time a user clicks Profile, which can potentially degrade performance. The Allow real-time profiling option applies to all table fields, not just the checked ones. You can remap a user table to change the profiling characteristics. For details, see the HCL Campaign Administrator's Guide.

Network and components

  • Use network monitoring tools to identify potential issues. For example:

    netstat (network statistics) is a command line tool that displays network connections (both incoming and outgoing), routing tables, and network interface statistics. This utility is available for use on both UNIX and Linux operating systems.

    tracert (Windows) / traceroute (UNIX) is a network diagnostic tool for displaying route paths and measuring delays of packets across a network.

  • Windows Performance Monitor can generate reports on processor, memory, disk and network utilization.
  • If you are using HCL Interact, there is a performance cost if you configure any part of Interact to communicate using SSL. HCL does not recommend configuring Interact to use SSL.
  • You may want to look into the speed of the storage devices or appliance (at both the WebSphere or WebLogic and Application server levels) as this plays a role in performance.
  • As with any application, problems can often be resolved by restarting the software and hardware. Try restarting the listener. Also try restarting the web application server. In some cases, you may need to reboot the physical servers as well.