Documentation Center

WorldServer Components and System Recommendations

The WorldServer installation involves several different components potentially residing on several different machines.

SDL recommends that you run application and database servers on separate computers. A typical configuration deploys the database system on a single Linux or Windows server, and the WorldServer application on one or more Linux or Windows servers.

Typical deployments of WorldServer contain various machines that serve as clients, servers, repositories, and databases.

Hardware requirements depend on the amount of data and the operational load expected on the system. As a rule of thumb, the WorldServer application is CPU-intensive and database processing is I/O intensive. Thus, the application server should have adequate CPU power and the database server should have a fast disk subsystem and a lot of memory.

Prepare for Growth

Because most globalization needs grow over time, SDL recommends that you install more powerful hardware than initial requirements would indicate. This gives you extra capacity and room for scalability expansion in the future. It is much harder to upgrade to new hardware after the system is in production mode than it is to anticipate that future growth at the outset.

The most important aspect of hardware configuration is the database server. WorldServer is a very database-intensive application. The database system can never be too powerful. The database server should have more emphasis on its I/O subsystem and memory than on CPU power. Oracle (the recommended DBMS for large deployments) uses all the memory and I/O bandwidth it can get. SDL recommends a fast RAID array. Good performance is achieved on RAID0+1 configurations.

For the application server, CPU power is more important than I/O bandwidth. A baseline system consisting of at least a 2.8-3 GHz CPU can provide good performance.

General guidance for minimal server configuration is as follows:

  • Smaller implementations: 2 x CPU Cores at 2.0 GHz each with at least 4 GB RAM, running on Windows Server 2012 R2 (64bit)
  • Larger implementations: 4 x CPU Cores at 2.0 GHz each with at least 8 GB RAM
  • Database servers: 2 x 4 CPU at 2.0 GHz with 32 GB of RAM, as well as direct connected/fibre channel connected SAN Storage (750 GB) plus 500 GB backup.

On the application server, disk space is only needed for keeping system files, application files, temporary files, and uploaded documents. 20-30 GB of free disk space is sufficient. If the server has enough physical memory, any modern desktop-grade disk subsystem will be adequate.

For workflow-intensive installations, you should allocate one or more separate business processing (workflow engine) machines. If you use sophisticated workflows containing many automatic actions, we recommend that you separate servers running workflow processes from those exposed for user requests. When WorldServer processes a large project through a workflow, the workflow engine will take all the CPU it can get. If the workflow engine runs on the same server as other WorldServer functions, this might impact performance of other user requests and cause slower user interface response. A separate workflow server helps to maintain good user interface response while processing large project workflows. See Setting Up Clustered Workflow and Background Processing Engines later in this document.

Dedicated Versus Shared Machines

SDL strongly recommends putting the WorldServer application on a dedicated application server machine rather than under the same application server as other Web-based applications.

In particular, there is no way to throttle the amount of the CPU given to Web-based applications, which means that one application can “starve” the other applications. Since WorldServer is very processor-intensive, it can degrade the performance of other applications on the same machine.

Similarly, SDL generally recommends putting the WorldServer database under a dedicated database server installation on a dedicated machine rather than sharing a database instance with other applications.