Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Server Architecture Overview

PhixFlow is built on a single Java-based architecture i.e. it is not made up of several products with different architectures bolted together. There are two main elements in the server architecture:

  • PhixFlow Application Server - The PhixFlow application server is a Java-based application which runs within an Apache Tomcat container. PhixFlow supports installation on all the major hardware architectures and operating systems. Existing installations use Solaris, both Linux and Windows based servers.
  • Database Server - PhixFlow uses any major JDBC compliant database to store both configuration data and the results of analysis on data collected from other systems. Existing installations currently use either Oracle or Microsoft SQL Server

See System Requirements and Compatibility for information about supported versions of third party software that should be installed on the PhixFlow server, in particular, databases, Java and Tomcat.

Figure 1 shows the most typical deployment of PhixFlow in which the application server and database server run on separate machines, however, for small proof of concept installations a single server may be used to host both the application and database servers.

...

Image Modified

Figure

...

Dual Server High Level Architecture

Typical Server Sizes

The following are typical server sizes for small, medium and large installations. For large installations we recommend that you engage a PhixFlow consultant to verify requirements and analyse data volumes to be processed and retained within PhixFlow. Please note , that backup/recovery capacity is excluded in these sizing estimates.


 

Server Size

Small

Medium

Large

Daily records

10m

70m

200m

Application Server

CPU cores

4

12

8

24

16

Memory

16 GB

32 GB

64 GB

Disk space1

50 GB

100 GB

200 GB

Database Server

CPU cores

2

6

4

12

8

Memory

4 GB

8 GB

16 GB

Data disk space2

250 GB

2 TB

4 TB

Redo/Undo space

40 GB

400 GB

800 GB

...

Notes:

  1. The disk space on the

...

  1. application server is sized assuming that there may be files placed on the server disk for PhixFlow to read. If no files are to be placed on the application server (e.g. PhixFlow will read files from an

...

  1. external location) then only a small disk is required for the operating system and PhixFlow application software.

...


  1. Note that these figures indicate the amount of database disk storage required which scales with the amount of raw and result data configured to be retained by PhixFlow. Some implementations with a high number of daily records but which only maintain problematic data may require less space than this.

Database Server Disk Configuration

For medium and large implementations the database should be configured for high performance throughput. In particular database performance is significantly affected by the way that the database server disks are configured. Organisations requiring this size of server will generally have their own database administrators who are familiar with this level of planning, however, for clarity the following shows recommendations when setting up a medium installationa typical disk configuration:

Disk Group 1

8 x 300 GB in RAID5 configuration (Used for Oracle Data Tablespace)  Format the stripe with a block size that is optimal for data throughput. (typically 4Kb)

Disk Group 2

4 x 146 GB in RAID 1+0 configuration (Used for Oracle Redo) Format the mirror with a block size of 512 bytes. 2 redo groups multiplexed

Disk Group 3

2 * 146 GB in RAID 1+0 configuration (Used for Oracle Undo) Format the mirror with 4Kb block size

Linux:

...

Limit on Open File Descriptors

On Linux, set the "open files" limit for the user that will run Tomcat to at least 50,000. By default this value is set to 1024. This setting controls the number of open file descriptors a user can have. You can see the current limit by running the ulimit command:

Code Block
languagebashtext
> ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 3889
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 3889
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

The limit is given by the setting open files, in the above example 1,024. This is a common default on linux.

Ensure that the user that will run tomcat has a limit of at least 50,000, or is unlimited. Although Note that PhixFlow will generally open only a fraction of 50,000 file descriptors, however, it is best to ensure that this limit can never be hit reached, since otherwise numerous low level errors can occur.

Server Access to Other Systems

Email Server

In order to email reports and alerts to users, PhixFlow requires access to an email account via an SMTP gateway. Please provide PhixFlow with full connection settings e.g.:

Configuration Setting

Example

Host Address

auth.smtp.xxxx.yy.xx

Port

25

Username

xx.yy@zz.com

Password


SMTP Auth required

true

Import / Export Data on other Servers

In test and live operation the PhixFlow server will need to gather data from and write data to other systems via JDBC or via FTP. The access requirements change over time as new models are added to PhixFlow. Please ask your PhixFlow administrator for a full list of access requirements documented as:

PhixFlow will require access to the following databases:

System

Access Requirement

<Name>

For each system provide:

  • IP address
  • Port requirements
  • Database/Instance name
  • User/Schema

If needed, document individual read/write access requirements:

  • Tables, Views, Stored procedures etc.

PhixFlow will require access to the following servers and file systems:

System

Access Requirement

<Name>

For each system provide:

  • IP address
  • Port requirements
  • Directories/Files
    • Read / Write / Delete Access requirement