About Performance Tuning

When considering the performance of an application, individual users have different criteria in mind. To some, performance is the speed at which an application responds to the requests of an application user. To others, it is the ability of the application to run properly within the limits set by the hardware or operating system. Performance can also be seen as the overall ability of a multi-user application to process a great deal of work for a large number of users quickly and efficiently.

Performance tuning attempts to maximize the success of an application in achieving the criteria described above. Performance tuning can be done by altering the design of the database, by using different coding techniques, by modifying the design of multi-user transactions, by changing the configuration of the operating system, and by altering the software's own configuration. The focus of this section is solely on altering the software's configuration to fine-tune performance.

To increase the performance of any application, three areas should be considered:

File use

Controlling the location, distribution, growth characteristics, and fragmentation of files that make up the application can substantially improve performance. This subject is discussed in File Management and Distribution.

Deadlocks

Zim 8 provides a significant reduction of the number of deadlocks by implementing an improved lock and deadlock mechanism in Zim Server. Deadlocks, however, are always an inevitable part of multi-user applications and tuning can help to reduce them even more. This topic is discussed in Locks and Deadlock Conditions.

Memory use

The more an application can use main memory (e.g., to buffer file input/output) instead of continually accessing a disk, the shorter the application's response time. This is specifically critical for Zim Server (discussed in Memory Use in the Server) and very important for each session running Zim (discussed in Memory Use in the Client).

Zim Server Tuning

Apart from the maximization of memory usage, there are some ideas that can be used to improve performance of Zim Server as discussed in Zim Server Performance Tuning.

 

The utility ZimExplore can help the dimensioning of the configuration options by dynamically  monitoring the status of Zim Server, just like this example: