PrizmDoc® Viewer v14.0 Release - Updated
PrizmDoc Viewer / Administrator Guide / PrizmDoc Server / Server Sizing
In This Topic
    Server Sizing
    In This Topic

    Overview

    This topic provides some general guidance on the factors that will impact performance of PrizmDoc Server so that you can adequately plan your deployment to ensure that you have sufficient hardware to handle your needs. You should consider the type of documents that you will be processing and based on the information provided below, adjust our recommendations accordingly to fit your use-case. If you have more specific questions regarding your specific usage of PrizmDoc Server, please contact our Support team.

    How Content Can Affect These Recommendations

    PrizmDoc Server can process many different types of files. The majority of files processed by PrizmDoc Server displayed in the Viewer are PDF, Microsoft Office formats (Word, PowerPoint, and Excel), and scanned images. The system is capable of processing many files types outside of this basic set. For benchmarking purposes, we focus on processing the more commonly used formats.

    The content of files can vary greatly, and their construction can affect PrizmDoc Server’s ability to process them. Any of the factors mentioned below could cause file processing and rendering time to deviate from the performance expected from a basic document set.

    Document Elements

    The number of elements that exist within a file will affect how quickly the PrizmDoc Server services can convert the content in the necessary viewing format. CAD Drawings and PDF Documents using path elements to represent CAD data will contain many elements and require more time to convert. Elements within a file are not limited to the path elements, but text content can also be a factor.

    Image Size

    Images can be content on their own, but images are also embedded into PDF and Office files. The size of the images that the system needs to process can affect the system’s ability to load the content being supplied. As the size of the image(s) increases, the amount of time needed to process the content increases. For example, the PDF standard allows for images to be stored within the file, while only displaying a small portion of the image. While the image may appear to be small in size, the information stored in the file can be larger than expected.

    File Size

    Uploading a file to the server before it can be processed will take some time. The size of a file can also be representative of the complexity of the file. As the file size increases, the amount of time to transfer and load the data will increase.

    File Types

    Certain file types, by their nature, may contain more of the above defined factors. CAD drawings will contain many line and path elements to represent the information that is needed. As these files grow in size, they will contain more data and require more processing for the system to generate content for display.

    How Hardware Can Affect System Performance

    There is not one single piece of hardware that will address the performance concerns that you might have. In order to avoid under-utilizing your hardware, Accusoft recommends keeping these different characteristics in balance within your environment.

    Disk IO

    In its default configuration on common hardware of the day, the biggest limiting resource for PrizmDoc Server is most likely to be disk IO. PrizmDoc Server caches a considerable amount of data on a local drive consisting of document data, both original and converted, as well as state and other information.

    As the load increases on a server, the data being written and read from disk will continue to grow with each new request. We often see customers proposing hardware configurations that possess high-end CPUs but only a single, ~7200 RPM Hard Disk Drive. A single IO device in this situation can quickly become overburdened, causing the queue length for the IO device to grow to the point where much of the actual time used for document conversions is spent waiting for IO requests. There are options today that can greatly improve IO transfer rates:

    • SSD drives: A good option to minimize the IO wait time, allowing for the use of high-end multi-core processors to extract the most performance out of PrizmDoc Server.
    • Shared Memory Drive (Linux): In this case, a chunk of the available RAM is shared and appears as a mounted file system. This storage is not persistent, but this is acceptable for the PrizmDoc Server cache with the understanding that PrizmDoc Server will reconvert documents to rebuild the cache if it is deleted.

    Maximizing the number of Disk I/O operations your system can perform will be the most beneficial investment you can make in order to allow the system hosting PrizmDoc Server to perform at its peak.

    CPU

    The CPU is another resource that should be considered when determining hardware requirements for PrizmDoc Server. Assuming PrizmDoc Server performance is not bottlenecked by Disk IO (either SSD, Shared Memory, or other Disk IO optimization is in use), the ideal range for CPU usage is about 60% total, across all available logical cores. The 60% target is a guideline to where system activity should be for the system to be at peak productivity.

    RAM

    We recommend each server have 4GB of memory per logical core and no less than 16GB total memory. If you intend to use a RAM Disk or Shared Memory Volume, you'll need to account for that separately.

    Example Server Configurations

    The throughput expressed in this document is defining the number of unique documents the system can convert for viewing per minute. If a document has already been converted for display and is cached, the system resources needed to transfer that data are minimal and are not considered in these estimates. The documents included in the recommendation represent a standard mix of Office and PDF files ranging in size from a few pages to a few hundred pages.

    NOTE: The Docker recommendations below apply to resources available to the container, rather than resources available to the Docker host.

    NOTE: Running a PrizmDoc container on a virtualized Windows host is not recommended.

    Minimum Recommendation

    • Windows: 5 per minute
    • Docker: 10 per minute

    Hardware Details

    • Logical Cores: 4
    • Memory: 16GB
    • Hard Drive Type: SSD
    • AWS: m5.xlarge

    Moderate Recommendation

    • Windows: 10 per minute
    • Docker: 18 per minute

    Hardware Details

    • Logical Cores: 8
    • Memory: 32GB
    • Hard Drive Type: SSD
    • AWS: m5.2xlarge

    High-End Recommendation

    • Windows: 15 per minute
    • Docker: 30 per minute

    Hardware Details

    • Logical Cores: 16
    • Memory: 64GB
    • Hard Drive Type: SSD
    • AWS: m5.4xlarge

    Additional Considerations for Pre-Conversion Services

    When enabling the Work with Viewing Packages feature, there are additional considerations for hardware requirements. Since the Viewing Package creation process creates all of the necessary artifacts that a future Viewing Session may require, it is much more computationally and resource expensive than an on-demand Viewing Session. As a general rule-of-thumb, creating a Viewing Package is about as resource intensive as having 5 concurrent users trying to view a document that has been uploaded for an on-demand Viewing Session.

    When creating a Viewing Package, PrizmDoc will begin generating all of the artifacts for the document that is uploaded (e.g., svg, text, etc.). This is fundamentally different from on-demand Viewing Session creation in that PrizmDoc will only generate the artifacts that are immediately needed for viewing. Since everything is being converted at once, this puts additional strain on the PrizmDoc Back-end Services.