Server Sizing
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.
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.