If you would like to use a dedicated hosting server for running PHPKB Knowledge Base Software or host it on a local server, you can use hardware requirements and example specifications below for a reference.
Recommended Hardware Requirements
On small instances, server load is primarily driven by peak visitors however you may use the following specifications for optimal performance.
| 5 Concurrent Users | 25 Concurrent Users | 50 Concurrent Users |
|---|---|---|
|
|
|
Example Hardware Specifications
These are example hardware specifications for non-clustered PHPKB Knowledge Base Software instances. These values are reported to us by our customers.
| User Accounts | # Articles | CPUs | Speed | RAM |
|---|---|---|---|---|
| 150 | 1,000 | 1 | 2.6 GHz | 1 GB |
| 350 | 14,000 | 2 | 2.8 GHz | 768 MB |
| 5,000 | 15,000 | 4 | 3 GHz | 2 GB |
| 8,000 | 17,000 | 2 | 3.8 GHz | 2 GB |
| 10,000 | 4,000 | 2 | 3.4 GHz | 4 GB |
| 21,000 | 13,000 | 2 | 3.6 GHz | 4 GB |
Maximum Reported Usages
These values are largest customer instances reported to us or used for performance testing. Clustering for load balancing, database tuning and other performance tuning is recommended for instances exceeding these values.
- Maximum Number of Internal Users - 1,00,000
- Maximum Number of LDAP Users - 1,00,000 (for enterprise edtions only)
- Maximum number of Knowledge Base Categories - 5,000
- Maximum Number of Knowledge Base Articles - 85,000
Clustering in PHPKB Knowledge Base Software
Clustering in PHPKB is the same as clustering in any other web application. There are three parts of the application that can be clustered in order to get a performance boost:
- Database
- Web server
- File system (if you're using large number of attachments, images, videos & media files)
Database Clustering
For database clustering you need to use MySQL Cluster version of MySQL. The recommendation for good redundancy would be 2 MySQL Server Nodes, 2 Data Nodes and 1 Management Node. The minimum fully fault tolerant solution would consist of 3 servers with the 2 data nodes and the management node all running on different hosts and with at least 2 MySQL Server nodes running on different hosts from each other.
Web Server Clustering
Web server clustering is reached by creating several (2 or more) nodes and at least 2 balancers that split up incoming requests between nodes.
File System Clustering
PHPKB knowledge management software stores all attachments and media files in the file system. You can reduce load by moving these files onto external RAID array.
