Some test text!
Web / Guides / Performance Guide
This document is meant to demonstrate what kind of performance you should expect out of WebViewer Server in various situations. You may use the information here as a starting point in evaluating your particular deployment of WebViewer Server.
Some things mentioned have a particular meaning, this section will detail that.
In this section we will detail what one should actually expect based on our testing scenario.
TRN_MAX_CACHED_MB
which is set to 50000 MBAll test scenarios are done via various test loads using the same test environment. For each user calling the server, we request an initial load that you would typically execute if using WebViewer with WebViewer Server as a single user.
This test will show how well WebViewer Server can handle easier documents that meet the following criteria:
The documents used were the following:
During this test we executed 89012 individual request sessions over 4 hours. The averages are as follows:
Sessions | Average Run time | Average Queue time | Average Session time | Sessions/second |
---|---|---|---|---|
88077 | 14 ms | 146 ms | 1003 ms | 6.11 |
We saw memory usage, CPU usage and disk/network usage steadily climb along the same slope. We would expect this rise to continue going on as users were steadily increased. None of these aspects of the server are a bottleneck in this case and increasing any of the 4 would improve performance. One could likely push the load to 20 sessions/second with this environment.
Disk usage reached our defined limit (TRN_MAX_CACHED_MB) and hovered at this point.
This test will show how well WebViewer Server can handle a typical stress load with documents that meet the following criteria:
The documents used were the following:
During this test we executed 87010 individual request sessions over 4 hours. The averages are as follows:
Sessions | Average Run time | Average Queue time | Average Session time | Sessions/second |
---|---|---|---|---|
84337 | 69 ms | 227 ms | 1013 ms | 5.8 |
We saw behaviour similar to test #1 here but a slight increase in all resource usage. There is also a notable increase in network traffic.
Given this data, the server should be able to achieve levels exceeding 15 sessions per second with these types of documents. In this case, there is no main bottleneck for the system and improving any aspect of the server can increase the ability to handle requests.
This test will show how well WebViewer Server can handle a high stress load with documents that meet the following criteria:
During this test we executed 5695 individual request sessions over 4 hours. The averages are as follows:
Sessions | Average Run time | Average Queue time | Average Session time | Sessions/second |
---|---|---|---|---|
5606 | 298 ms | 2283 ms | 5420 ms | 0.38 |
Similar to previous tests, we saw CPU and Memory rise together. However, we saw our network speed max out at 8 GB/s and our disk speed max out at around 5 GB/s.
Given this data, this server is already near its limits for this test due to a bottleneck in disk speeds. In order to improve performance in a scenario like this, we would recommend improving the following:
This test will show how well WebViewer Server can handle a collection of moderate to low impact non-PDF files. The file types of the documents used were: .DOC, .DWG, .XLSX, .XLS, .HTML, .PPTX, .DCM
During this test we executed 23504 individual request sessions over 4 hours. The averages are as follows:
Sessions | Average Run time | Average Queue time | Average Session time | Sessions/second |
---|---|---|---|---|
23504 | 87 ms | 1038 ms | 2006 ms | 1.6 |
Similar to network usage write speed steadily climbed as job requests continued, but began to level off near the end. It reached a peak of around 1600 MB/minute.
Conversion compared to our atypical test did not push resource usage in the same way. Instead, conversion is subject to the longer processing times required to execute the tasks and a greater memory impact. The best way to improve performance with conversion is to increase the general speed of each individual hardware component to encourage faster processing times.
It is also possible to pre-convert your documents in order to remove the bottle neck of conversion times.
Test | Sessions | Average Run time | Average Queue time | Average Session time | Sessions/second |
---|---|---|---|---|---|
1 | 88077 | 14 ms | 146 ms | 1003 ms | 6.11 |
2 | 84337 | 69 ms | 227 ms | 1013 ms | 5.80 |
3 | 5606 | 298 ms | 2283 ms | 5420 ms | 0.38 |
4 | 23504 | 87 ms | 1038 ms | 2006 ms | 1.6 |
There are usually several core bottlenecks in WebViewer Server depending on the environment used.
The amount of available cores for processing on WebViewer Server will determine the number of concurrent jobs that can be performed. Increasing the core count in high stress situations can increase the number of concurrent jobs and increase overall performance.
Improving the overall speed and performance of the CPU will also result in faster renders and conversions.
WebViewer Server needs enough memory to perform its work as sometimes documents have large portions written directly to memory especially during conversions. Increased memory allows the in-memory cache to persist for longer increasing cache performance. Typically, if you are not exceeding your servers memory limit in daily usage it is likely enough memory for your setup.
The server uses a disk based cache in addition to it's in-memory cache and does significant disk writes and reads at every moment during a load. This means the server requires a performant disk. You may encounter problems using shared network disks, or using disks with read/write speeds below 100 MB/s even with lower loads. If you are encountering constant high load on your disk it likely means you need to upgrade.
Another source of slowdown for WebViewer Server is where it retrieves its source documents from. When a user 'passes' a URL to WebViewer Server is directly requesting the file. This means that WebViewer Server should be as close as possible to the source of the URL (the file server) to ensure it downloads file as fast as possible.
Slow network speeds can delay WebViewer Server from retrieving a document it's looking to process. This would greatly slow processing time for each document as we must wait for a file to be retrieved.
Trial setup questions? Ask experts on Discord
Need other help? Contact Support
Pricing or product questions? Contact Sales