There are two sides to performance: performance requirements and load estimates. The goal is to anticipate the number of users and their activities, so that you can design a cluster that responds their needs with minimal delay.
Performance requirements ensure that the cluster is responsive to user requests. Such requirements are usually defined in terms of the system response relative to an amount of traffic in a given period, like “5 second response for all pages regardless of system load” or “maximum 10 second response time for up to 20 simultaneous users”. There are often different requirements for expected average load versus maximum load.
The requirements should be based on realistic estimates of the number of users and how they will interact with the features of JasperReports Server. First, you should determine what volume of users will be browser clients (real people) and web services clients (applications making API calls) and the ratio between them. See Session Management and Failover for information about these two types of clients and how their client sessions differ.
Then, you must estimate what kinds of operations your users perform, for example:
• | How many users will just run reports and save the output? |
• | How many users will create reports or explore data interactively? |
• | How large are your typical reports, in terms of data retrieved and processing required, and how often do they run? |
• | What times of day will have the highest user load? |
• | Will users or web services clients access the repository extensively? |
In addition to user sessions, the server instances must also process scheduled jobs, so you should estimate their volume and nature. For example, what volume of jobs are critical to run at exact times, what volume of jobs must run during business hours when user load will be high? Can you educate users to run jobs outside of business hours?
Long jobs contribute to server load and may slow down user sessions. If the scheduled job load is very high at the same time as the user load, it may be desirable to configure a dedicated server instance to run jobs. This advanced cluster architecture is beyond the scope of this document. For more information about running scheduled jobs, see Job Schedulers.
Client connectivity is also an issue, because the slowest link in the network creates a bottleneck. There is a difference in system performance and scalability between users who work remotely over DSL and those who work in the office on your corporate T1 network.
Recommended Comments
There are no comments to display.