Vertical scaling adds more power to your hardware to meet increasing performance need. This includes faster CPUs, multiple CPUs, more memory, faster network cards, or a combination of all of these.
Depending on the performed operations, a Dimensions CM server and database can be CPU-intensive. When using multiprocessor or hyper-threading configurations, the server can use more system resources than under single processor configurations. In memory-intensive situations, the server may even consume all available memory.
To enable scaling, verify that you have sufficient RAM for all the processes that require memory.
Note: The memory recommendations for virtual machines are the same as for physical machines.
|Dimensions CM server memory
You manage the application server processes in the listener.dat configuration file by defining the number of active processes and how they start up.
Each active connection to the server requires one process. Starting more connections initially and allowing them to run continuously consumes more memory but reduces the amount of CPU and other activities required to start a process. Each process for an active user requires approximately 150 MB of memory. Adding memory enables the server to support additional concurrent application server processes.
For details about managing the server application pool and configuring listener.dat, see Manage server application pool.
|File storage server memory
The processes that perform tasks for the file storage layer are called library server processes.
If your item libraries are remote to the Dimensions CM server, library server processes are started the first time that file transfer, such as update and deliver, is initiated.
These processes exist for the duration of the user’s session, and each one uses approximately 20 MB of memory. Adding memory enables more processes to run and additional file transfer activities to take place.
|Web application container memory
By default, Dimensions CM installs a Java-based web application container, Apache Tomcat, which typically requires 1.5 GB to 2 GB of memory. Adding more memory to the application server can improve your ability to scale vertically and support additional web clients.
You can change the amount of memory reserved for Java. For details, see Optimize the web client.
If you are using another server platform, consult the vendor for details about expanding memory.
|Database server memory
Verify that your database has enough memory. Adding more memory may not allow the database to utilize it. Consult your database documentation for details on how to optimize memory configuration.
Each concurrent process in a database server consumes approximately 20 MB of memory. When calculating database server memory requirements, consider your users' typical actions. For example, if the users frequently run reports, make sure there is enough memory to support those processes and that the database is properly tuned.
Scale single-system configurations
The disk subsystem in a single-system configuration can also contribute to scalability.
Guidelines and considerations:
Faster disks enable operations to be performed quicker.
If you use multiple disks or spindles, separate the database data and the database logs to improve efficiency.
Store the item library on a separate disk to allow the drives to function better in parallel.
Place the operating system on a separate drive. Reducing data access contention from a physical drive helps your configuration to scale.
Techniques such as disk striping can help increase the throughput in certain configurations.
Spread item library files across multiple folders. Too many files in a directory can impact the operating system’s ability to serve up files.
Network hardware performance
Network hardware is an important aspect of scaling. If a network card is saturated with network traffic, use multiple network cards to scale the application.