Crystal Web Service Performance

In order to increase the performance of Crystal Report Rendering process, now you can set more than one Crystal Web Service instance against the same database. In situations where the application processes multiple Crystal reports, configuring the Crystal Web Service instances to the same database will be effective. This guide explains how to configure multiple IFS Crystal Web Service instances, which will load-balance the Crystal Report processing and increase performance.

In this guide, the respective version of IIS is 7.

Contents

Prerequisites and Considerations

Configuring Crystal Web Service Instances

Configuring multiple web service instances will introduce the load balancing functionality for the Crystal Web Service which enhances the performance and bypass some limitations in multithreaded usage of Crystal Runtime.
The configuration process consists of few manual steps.

  1. Follow all steps in Install and configure Crystal Web Service to setup one Web Service. Let’s assume that the IFSCRWebSetup is the resultant web service instance.
  2. To create the next instance, go to the folder “C:\Inetpub\wwwroot\” and create a new folder. Give an appropriate name to that, which will be referred as the Alias later in IIS. (Example : IFSCRWebSetup_B) Then, copy the content of the folder "IFSCRWebSetup" into the folder IFSCRWebSetup_B.

    If you want to change the location of report layouts for this new instance, change the Open Report Path as you prefer in it's Web.Config.

  3. In IIS, select the Default Web Site connection listed under SERVER>Sites. RMB on it, and select "Add Application". (If IIS is already listing your newly created folder under "Default Web Site", then RMB on that and select "Convert to Application").
  4. In the appeared dialog, give an appropriate Alias (a name for the instance). Select Application pool as ASP.NET v4.0 and then select the Physical path of the newly created folder IFSCRWebSetup_B and then click OK.
  5. In IIS, select “Default Web Site” and restart the site.

 

Note : In some cases, user may need to set Crystal Web Service instances against different databases. That process is much similar to the process of configuring instances to the same database. Only difference is that the ifs-crystal-config.xml should be changed inside the virtual directory (Web Service instance folder). However in different database approach, there is a risk of retrieving irrelevant and incorrect data in reports, if all of those instances are configured to one application server. But this approach is usable when different Crystal Web Service instances should be used for different application servers in the same machine.

Follow the steps described above in same database approach, and then the below steps. Assume that you want to configure a new Crystal Web Service instance "IFSCRWebSetup_X" to the database named "TEST".

  1. Get the CrystalWebService setup zip file from any application server which is directed to "TEST" database.
  2. Extract the ZIP into a separate folder.
  3. Copy ifs-crystal -config.xml inside the extracted folder into IFSCRWebSetup_X with replacing the existing.
  4. Restart IIS.

Configuring the System Parameter

Update the System Parameter Virtual Directory names given to the Crystal Web Service instances in IIS through IFS EE Client, with adding the newly created instance alias, separated by a comma.

From now on, each Crystal Web Service request made through the application will be redirected to these instances in a round-robin manner.