Contents
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 inC:\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
- based on the numbers of clients machine, tune the
- 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