Resizing Servers

Overview

When you resize a server to increase or decrease the amount of memory or CPU that is available to PhixFlow, you must update some configuration settings to efficiently use the available resources.

Memory Changes

Consider how Tomcat and the PhixFlow database make use of memory.

Tomcat

After making changes to memory settings, remember to run systemctl daemon-reload before restarting; see Managing Tomcat.

Windows

  1. Open Tomcat properties;
  2. Update Initial Memory Pool and Maximum Memory Pool to the new settings.
  3. Restart Tomcat

Linux

  1. Update the settings in /etc/systemd/system/tomcat.service.
  2. Change CATALINA_OPTS to the memory settings you need.
  3. Run systemctl daemon-reload and restart Tomcat.

Tor details about stopping and starting Tomcat, see Managing Tomcat.

Database

MySQL

When you make changes to the available memory, update the affected MySQL settings, especially  innodb_buffer_pool_size.

To update innodb_buffer_pool_size,

  1. Edit the file /etc/mysql/my.cnf and update the setting:
       innodb_buffer_pool_size = 2G
    See MySQL Planning for a rule-of-thumb rule for determining a new buffer pool size.
  2. Restart the MySQL service:
      sudo systemctl stop mysql
      sudo systemctl start mysql

SQL Server

Microsoft recommend that no fixed maximum memory is set on the database; see MS SQL Server Planning. In this case you do not need to update the memory settings for the SQL Server when after changing the available memory. The SQL server should automatically adapt.

You do need to monitor and tune your SQL server over time.

CPU

If you change the available CPU,  update the thread pool size in PhixFlow's System Configuration. Unless advised otherwise by PhixFlow Support or your PhixFlow implementation team, set this to 2 times the logical (virtual) CPUs.