This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
system_requirements [2022/05/06 15:13] angelos |
system_requirements [2024/02/06 17:38] (current) chris |
||
---|---|---|---|
Line 3: | Line 3: | ||
==== Operating system and software prerequisites ==== | ==== Operating system and software prerequisites ==== | ||
+ | |||
In principle any version of Windows + Internet Information Server (IIS) will do. We've got the software to | In principle any version of Windows + Internet Information Server (IIS) will do. We've got the software to | ||
run on IIS Express edition for demonstration purposes. We offer the following formal guidelines: | run on IIS Express edition for demonstration purposes. We offer the following formal guidelines: | ||
Line 9: | Line 10: | ||
| Web Server| IIS 7.5 | IIS 10.0| | | Web Server| IIS 7.5 | IIS 10.0| | ||
| .Net Framework | 4.7.2 | 4.7.2 | | | .Net Framework | 4.7.2 | 4.7.2 | | ||
- | | RDBMS | Microsoft SQL Server 2014| Microsoft SQL Server 2019| | + | | RDBMS | Microsoft SQL Server 2017 with Full-Text Search enabled| Microsoft SQL Server 2019 with Full-Text Search enabled| |
=== Additional comments regarding SQLServer === | === Additional comments regarding SQLServer === | ||
SQL Server Express can be used but poses two limitations which have to be taken into account: | SQL Server Express can be used but poses two limitations which have to be taken into account: | ||
- | - The maximum database size cannot exceed 10GB. | + | * The maximum database size cannot exceed 10GB. |
- | - Only one CPU core is used to execute queries. | + | * Only one CPU core is used to execute queries. |
- | + | * [[https://hub.acctivate.com/articles/what-microsoft-sql-server-express-editions|Click here for more background]]. | |
==== On-premise installation hardware requirements ==== | ==== On-premise installation hardware requirements ==== | ||
Line 61: | Line 61: | ||
Additionally, slides can be stored either on local disks attached to the VM or in Azure Blob Storage. | Additionally, slides can be stored either on local disks attached to the VM or in Azure Blob Storage. | ||
When possible, it is recommended to prefer [[https://docs.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-introduction|Azure Data Lake Storage Gen2]] over plain Azure Blob Storage, as this type of service performs directory management operations, such as moving and renaming slides and directories, a lot faster. | When possible, it is recommended to prefer [[https://docs.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-introduction|Azure Data Lake Storage Gen2]] over plain Azure Blob Storage, as this type of service performs directory management operations, such as moving and renaming slides and directories, a lot faster. | ||
+ | |||
=== PMA.core cache requirements === | === PMA.core cache requirements === | ||
+ | |||
Regardless of the choice or combination of the storage media used, the system requires some space on | Regardless of the choice or combination of the storage media used, the system requires some space on | ||
a local or network disk where cache data will be stored and accessed. PMA.core allows you to define | a local or network disk where cache data will be stored and accessed. PMA.core allows you to define | ||
the cache retention policy and informs you about it's size. As a general rule of thumb, the cache | the cache retention policy and informs you about it's size. As a general rule of thumb, the cache | ||
capacity should be around 10% of the total size of the available whole slide images. | capacity should be around 10% of the total size of the available whole slide images. | ||
+ | |||
==== Client Side ===== | ==== Client Side ===== | ||
Line 73: | Line 76: | ||
=== Desktop or workstation hardware === | === Desktop or workstation hardware === | ||
+ | |||
The minimum requirements in terms of processor speed and memory (for end-users) are hard to | The minimum requirements in terms of processor speed and memory (for end-users) are hard to | ||
- | determine. We are pretty sure that every computer younger than 5 years will be able to interface with the | + | determine. We are pretty sure that any computer under 5 years old will be able to interface with the |
- | platform using a webbrowser without any problems. In case of doubt, we refer to the particular system | + | platform using a HTML5-capable web-browser without any problems. In case of doubt, we refer to the particular system requirements that apply to the specific flavor and version of web-browser that is being used. |
- | requirements that apply to the specific version of flavor of webbrowser that is being used. | + | |
=== Web browser === | === Web browser === | ||
+ | |||
A hosted web application is consulted through a (usually) remote computer on the internal company | A hosted web application is consulted through a (usually) remote computer on the internal company | ||
network (or Internet). To allow the delivery of content to as many clients as possible, we have very | network (or Internet). To allow the delivery of content to as many clients as possible, we have very | ||
Line 84: | Line 89: | ||
Java.Nor do we depend on or do we install any additional browser add-ons (BHO - Browser Helper | Java.Nor do we depend on or do we install any additional browser add-ons (BHO - Browser Helper | ||
Objects) ourselves. | Objects) ourselves. | ||
- | You will need a modern HTML5-capable webbrowser. This means that your browser must be configured | + | |
- | to allow JavaScript and accept cookies. Besides that, we've tested our software extensively on a host of | + | You will need a modern HTML5-capable web-browser. This means that your browser must be configured |
- | different web browser environments, and found it to operate under almost all, except Internet Explorer 10 | + | to allow JavaScript and accept cookies. Besides that, we've tested our software extensively in a host of |
- | or lower. For the best user experience, we recommend using Mozilla Firefox, Microsoft Edge or any | + | different web browser environments, and found it to operate under all except for Internet Explorer 10 |
+ | and lower. For the best user experience, we recommend using Mozilla Firefox, Microsoft Edge or any | ||
Chromium based browser such as Google Chrome and Opera. On a Mac, you are welcome to use | Chromium based browser such as Google Chrome and Opera. On a Mac, you are welcome to use | ||
- | Safari, Firefox or, again, any Chromium based browser.When a browser is not supported, an error message follows. | + | Safari, Firefox or, again, any Chromium based browser. |
+ | If a browser is not supported, an error message follows. | ||
{{ ::screenshot_2022-05-04_at_11-37-27_the_pathomation_software_platform_for_digital_microcopy_version_2_system_requirements_-_requirements-2019.pdf.png?400 |}} | {{ ::screenshot_2022-05-04_at_11-37-27_the_pathomation_software_platform_for_digital_microcopy_version_2_system_requirements_-_requirements-2019.pdf.png?400 |}} | ||
+ | |||
Because of content delivery through a web browser, interfacing with our software is not limited to | Because of content delivery through a web browser, interfacing with our software is not limited to | ||
Windows-only machines (though the web applications themselves run on Microsoft infrastructure). Our | Windows-only machines (though the web applications themselves run on Microsoft infrastructure). Our | ||
communication implementation is based on REST web services and the standard HTTP protocol, so you | communication implementation is based on REST web services and the standard HTTP protocol, so you | ||
- | can truly use our software from anywhere, any time | + | can truly use our software anywhere, any time. |
=== Popup-blocking and Ad-blocking === | === Popup-blocking and Ad-blocking === | ||
+ | |||
Our software uses dialogs as a means to interact with the end-user. These dialogs are implemented | Our software uses dialogs as a means to interact with the end-user. These dialogs are implemented | ||
based on "best practice" industry standards (including libraries such as React and jQuery). These | based on "best practice" industry standards (including libraries such as React and jQuery). These | ||
Line 111: | Line 121: | ||
If you experience problems on your installation, please let us know and we will find a solution to resolve | If you experience problems on your installation, please let us know and we will find a solution to resolve | ||
your particular issues | your particular issues | ||
+ | |||
==== Configuration hints and scaling considerations ==== | ==== Configuration hints and scaling considerations ==== | ||
+ | |||
=== Improving disk I/O throughput === | === Improving disk I/O throughput === | ||
+ | |||
The system's response time can be greatly improved by installing it on a solid state disk. The cache | The system's response time can be greatly improved by installing it on a solid state disk. The cache | ||
directory should also be kept on an SSD as well. Thus an optimal setup would be to install the operating | directory should also be kept on an SSD as well. Thus an optimal setup would be to install the operating | ||
Line 118: | Line 131: | ||
shares). Do not underestimate the importance of the regular disks' performance, where slides are stored, | shares). Do not underestimate the importance of the regular disks' performance, where slides are stored, | ||
though. Whenever possible use 6Gbit SATA III disks. | though. Whenever possible use 6Gbit SATA III disks. | ||
+ | |||
=== Network === | === Network === | ||
+ | |||
Multiple NICs may be installed onto the server machine to increase network bandwidth. The system can | Multiple NICs may be installed onto the server machine to increase network bandwidth. The system can | ||
utilize multiple IP addresses or host names out of the box, thus special load balancing configurations are | utilize multiple IP addresses or host names out of the box, thus special load balancing configurations are | ||
not required. | not required. | ||
+ | |||
=== Parallel processing === | === Parallel processing === | ||
+ | |||
The system is built to process requests in parallel and its performance depends on the available cores | The system is built to process requests in parallel and its performance depends on the available cores | ||
per processor, the performance per core, as well the total number of processors in the system. In | per processor, the performance per core, as well the total number of processors in the system. In | ||
environments with more than 50 simultaneous users, two processors should at least be available in the | environments with more than 50 simultaneous users, two processors should at least be available in the | ||
system. | system. | ||
+ | |||
=== Azure DataLake Storage Gen2 === | === Azure DataLake Storage Gen2 === | ||
+ | |||
When possible, it is recommended to prefer [[https://docs.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-introduction|Azure Data Lake Storage Gen2]] over plain Azure Blob Storage, as this type of service performs directory management operations, such as moving and renaming slides and directories, a lot faster. | When possible, it is recommended to prefer [[https://docs.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-introduction|Azure Data Lake Storage Gen2]] over plain Azure Blob Storage, as this type of service performs directory management operations, such as moving and renaming slides and directories, a lot faster. |