Performances

<< Click to Display Table of Contents >>

Navigation:  »No topics above this level«

Performances

Performances

Improving performances

WebViewer 2005 is focused on improving the product usability. One of the key issues was reducing the response time to one click operations to make the application feel like a desktop application as much as possible.

Preview caching

This is the most important performance improvement and is strongly recommended.

Each time you select a new record the preview is loaded and displayed in the panel. Without caching, this means opening the original file, extracting the correct configuration preview and sending it back to the client. If the file is located on another server/workstation or if the preview image is large, the response time can be slow.

To drastically improve responsiveness, preview images are now cached on disk. The previews generated by the system are GIF images with an average size of about 30 KB. When a client clicks a record, the server checks if a valid cached preview exists (newer than the document itself) and, if so, immediately returns the cached image without re-extracting it from the original file.

This mechanism can save from 1 to 3 seconds per click and significantly improves the overall user experience.

IMPORTANT: Since the number of previews can easily reach thousands (or more), it is strongly recommended to configure a dedicated directory for preview storage.

To activate preview caching, open the file:

C:\MechWorks_Pdm_Server\webclient\WebViewerOptions.txt

If the file does not exist, create it using Notepad and add the following line:

optional_previews_directory "D:\PreviewCache"

Replace the path with a suitable directory on a disk with sufficient free space. The directory should preferably be on a fast local disk of the server.

Automatic preview generation (PreviewBatchRunner)

The preview generation tool has been completely redesigned.

The old CachePreviews.exe tool has been replaced by PreviewBatchRunner.exe, located in the product installation folder.

The new tool works asynchronously and generates previews for:

oMissing previews

oOutdated previews (older than the source document)

Since the generation process is asynchronous and external to the main web process, system responsiveness is preserved even when large batches of previews are created.

The tool can be executed manually or scheduled (for example during night hours) to ensure that all previews remain aligned with the document database.

The operation may take time depending on the number of documents, but it does not block the Web Client.

On average, GIF preview images require about 30 KB each. For example:

Number of documents

Estimated disk usage

5,000

~150 MB

20,000

~600 MB

50,000

~1.5 GB

It is recommended to periodically run PreviewBatchRunner.exe to keep the preview cache fully populated and aligned.

Hierarchical queries

The parents and children queries are also significantly faster and requested with only one query. Also, filters by project are now applied only to parents and not to children.

In plain words, the principle is: if you have the right to see and download an assembly then you have the right to see and download its components. This is made necessary also by the fact that starting from SolidWorks 2006 if you don't have the components you may not be able to open and view the downloaded assembly.

For parents the restriction by projects assigned still applies: if you have the right to see and download a commonly used bolt you DO NOT have the right to see and download all the assemblies that use that bolt. Starting from a common standard part otherwise you would implicitely allow everybody to see and download most of your assemblies.