Server sizing
Server sizing for common deployment scenarios.
For a single-server NightWatchman deployment
| Number of machines | 5,000 | 25,000 | 50,000 | 100,000 | 
| Benchmark configuration | 
 | 
 | 
 | 
 | 
| Number of clients polling and posting messages per hour | 5,000 | 12,500 | 25,000 | 50,000 | 
| Messages per batch/client | 12 | 15 | 15 | 18 | 
| Number clients to be deployed concurrently | 2,500 | 2,500 | 5,000 | 5,000 | 
| NightWatchman server | 
 | 
 | 
 | 
 | 
| CPU cores | 1 | 1 | 2 | 3 | 
| RAM | 6 GB | 6 GB | 8 GB | 8 GB | 
| SQL Server instance max memory | 2 GB | 2 GB | 4 GB | 4 GB | 
| Database connection max pool size | 10 | 15 | 15 | 20 | 
| Total disk space required for databases | 6.5 GB | 30 GB | 55.5 GB | 111 GB | 
| SQL Server HDD requirements | 
 | 
 | 
 | 
 | 
| NightWatchman database MDF | 5 GB | 24 GB | 45 GB | 90 GB | 
| NightWatchman database LDF | 1 GB | 5 GB | 9 GB | 18 GB | 
| TempDB MDF | 100 MB | 500 MB | 1 GB | 2 GB | 
| TempDB LDF | 40 MB | 200 MB | 400 MB | 800 MB | 
For a distributed NightWatchman deployment
| Number of machines | 50,000 | 200,000 | 500,000 | 
| Benchmark configuration | 
 | 
 | 
 | 
| Number of clients polling and posting messages per hour | 25,000 | 100,000 | 250,000 | 
| Messages per batch/client | 15 | 18 | 18 | 
| Number clients to be deployed concurrently | 5,000 | 5,000 | 5,000 | 
| NightWatchman server | 
 | 
 | 
 | 
| CPU cores | 1 | 2 | 4 | 
| RAM | 4 GB | 4 GB | 4 GB | 
| Database server | 
 | 
 | 
 | 
| CPU cores | 1 | 2 | 4 | 
| RAM | 8 | 10 GB | 12 GB | 
| SQL Server instance max memory | 4 GB | 6 GB | 8 GB | 
| Database connection max pool size | 15 | 40 | 70 | 
| Total disk space required for databases | 55.5 GB | 222 GB | 554 GB | 
| SQL Server HDD requirements | 
 | 
 | 
 | 
| NightWatchman database MDF | 45 GB | 180 GB | 450 GB | 
| NightWatchman database LDF | 9 GB | 36 GB | 90 GB | 
| TempDB MDF | 1 GB | 4 GB | 10 GB | 
| TempDB LDF | 400 MB | 2 GB | 4 GB | 
For the WakeUp servers
| Number of machines | 5,000 | 25,000 | 50,000 | 100,000 | 200,000 | 500,000 | 
| Number of WakeUp servers | 1 | 1 | 1 | 2 | 4 | 10 | 
| Wakeup server | 
 | 
 | 
 | 
 | 
 | 
 | 
| CPU cores | 2 | 2 | 2 | 2 | 2 | 2 | 
| RAM | 2 GB | 2 GB | 2 GB | 2 GB | 2 GB | 2 GB | 
| Time to wake-up (approximate) | 5 mins | 10 mins | 15 mins | 15 mins | 15 mins | 15 mins | 
Benchmarking criteria
- 
                                                    Benchmarked against Windows Server 2012 R2 Hyper-V infrastructure, with database and application server components setup on separate VMs. 
- 
                                                    CPU (NWM Server) - Hyper-V host CPU configuration - 2x Intel Xeon CPU E5-2407 v2 @ 2.40GHz, 10M Cache, 4C, Max Mem 1333MHz. 
- 
                                                    CPU (WakeUp Server) - Hyper-V host CPU configuration - Intel Xeon Processor E5-2620 v3 @ 2.40GHz, 15M Cache, 6C/12T, Max Mem 1833MHz. 
- 
                                                    All VMs connected over a 1Gbps link through a 1Gbps physical switch. 
- 
                                                    Database storage – Samsung 850 EVO solid state drives attached locally to the Hyper-V host, with up to 98k/90k IOPS (4K random read/write QD32), and MDF, LDF and TempDB on separate SSDs. 
Recommendations
Servers can be deployed either on physical or virtual machines. For deployment on a virtual machine, assign the CPU cores at 100% virtual machine reserve.
- 
                                                    NightWatchman server: - 
                                                            Based on the numbers of clients machine, tune the Max Pool Size database connection parameter in C:\Program Files (x86)\1E\NightWatchman Management Center\WebService\Web.config 
- 
                                                            Install no more that 2,500 new clients concurrently in environments up to 25,000 machines. 
- 
                                                            Install no more that 5,000 new clients concurrently in environments with 50,000 machines or more. 
 
- 
                                                            
- 
                                                    NightWatchman database server: - 
                                                            Deploy data, logs and TempDB on separate physical disks. 
- 
                                                            Configure SQL Server with maximum server memory limit and not at the defaults to consume unlimited memory. 
- 
                                                            4GB RAM should be added for the operating system on top of SQL Server instance RAM requirements. 
 
- 
                                                            
- 
                                                    WakeUp Server - 
                                                            Have separate Wakeup servers for every 50,000 clients. 
 
- 
                                                            


