Hardware requirements
System resources such as CPU, memory, and storage can drastically impact the overall analysis time for a project. It depends on many factors related to the target project codebase such as overall code size, composition, language, and code complexity. The following guidance provides some general starting points based on our experience scanning many different real-world applications.
| Application size and complexity | CPU cores | RAM (GB) | Description |
|---|---|---|---|
| Small and simple | 4 | 16 | A small standalone system that runs on a server or desktop such as a batch job or a command-line tool and includes:
|
| Small and simple (dynamic language) | 8 | 32 | A standalone system that works with complex computer models such as a tax calculation system or a scheduling system and includes:
|
| Medium | 16 | 64–128 | A three-tiered business system with transactional data processing such as a financial system or a commercial website and includes:
|
| Large and complex | 32 | 256 | A system that delivers content such as an application server, database server, or content management system and includes:
|
OpenText SAST takes advantage of all CPU cores available on your system to reduce the scan time of large projects. When you run OpenText SAST, avoid running other CPU intensive processes during the OpenText SAST execution because it expects to have the full resources of your hardware available for the scan.
Additional system resource tuning considerations:
Virtual systems—Virtualization enables hardware resources to be scaled by identifying unused resources in a workload and reallocating them to other workloads. Because OpenText SAST analysis is generally a long running resource intensive process (especially in large and complex projects), OpenText recommends dedicated resources at the virtualization layer to reduce resource swapping.
CPU—Overall processing power can have significant impact on the total time required for analysis. OpenText recommends a high end processor with a fast clock speed (GHz per core). It is important to note that there is a correlation between the number of cores available to the system and the amount of memory that might be needed.
Memory—For more information on how to determine the amount of memory required for optimal performance, see Memory tuning. Note that analysis of dynamic languages such as JavaScript, TypeScript, Python, PHP, and Ruby require more memory during the scan phase that other languages.
Disk I/O—Project translation and scan are I/O intensive activities that serialize large amounts of data and benefit from faster storage. OpenText recommends that you run analysis on faster SSD storage when possible.
Number of functions—You can verify the number of functions modeled during the analysis by running a scan with the
-debugoption and looking for the last occurrence of theNameTable.funs: ###value in the Support log file.
See Also