Lts2 client (#594)

# 1.5 Beta 4 Changes

* MASSIVE reduction in memory usage, and no more explosive RAM growth over time.  
* Significant reduction in CPU usage for the UI and analysis threads.  
* Documentation improvements.  
* Netflow:  
  * Timestamps were invalid, causing UISP to reject the input.  
  * Move to a lock-free collection system, eliminating delays and lowering CPU usage.  
* Fixed automatic provisioning of Long-Term Stats subscribers.  
* User Interface:  
  * “Top X” tables in the UI are now buffered for smoother output.  
  * Improvements to graph consistency in UI.  
  * Network panel on customers now buffers and fades entries out, so it’s possible to read rather than continually jumping.  
  * TCP Retransmits are now displayed as a percentage of TCP packets, giving a much better *relative* scale of where issues are occurring.  
  * Up/Down is now labeled on packet counts.  
  * Improved output scaling on numbers trims “.0”  
  * IPv6 prefix detection is *much* better and won’t cause UI errors.  
  * Configuration editor now handles floats vs ints correctly.  
  * Fixed a login error if no authentication cookie is set.  
  * Improved Sankey redaction.  
  * Fixed an occasional error that would make the “sponsor us” toast appear incorrectly.  
  * Sankey coloration fixes.  
* Geo.bin file now won’t self-update very often (it tracks ASN data), and only if it has changed on the server-side.  
* LTS2: If you’re invited to help us test it, we’re starting early alpha testing. This version includes the client to make that possible. LTS1 will continue to function/gather data.
This commit is contained in:
Herbert "TheBracket" Wolverson
2024-12-10 12:45:00 -06:00
committed by GitHub
parent 11d8059fa1
commit 0e0ee5daf7
194 changed files with 6165 additions and 1396 deletions

View File

@@ -7,49 +7,56 @@
* 2 or more CPU cores
* A CPU with solid [single-thread performance](https://www.cpubenchmark.net/singleThread.html#server-thread) within your budget. Queuing is very CPU-intensive, and requires high single-thread performance.
Single-thread CPU performance will determine the max throughput of a single HTB (cpu core), and in turn, what max speed plan you can offer customers.
Single-thread CPU performance will determine the maximum capacity of a single HTB (cpu core), and in turn, the maximum capacity of any top level node in the network hierarchy (for example, top-level sites in your network). This also impacts the maximum speed plan you can offer customers within safe margins.
| Customer Max Plan | Passmark Single-Thread |
| Top Level Node Max | Single-Thread Score |
| --------------------| ------------------------ |
| 1 Gbps | 1000 |
| 2 Gbps | 1500 |
| 3 Gbps | 2000 |
| 5 Gbps | 4000 |
| Customer Max Plan | Single-Thread Score |
| --------------------| ------------------------ |
| 100 Mbps | 1000 |
| 250 Mbps | 1250 |
| 500 Mbps | 1500 |
| 1 Gbps | 2000 |
| 2.5 Gbps | 3000 |
| 1 Gbps | 1750 |
| 2.5 Gbps | 2000 |
| 5 Gbps | 4000 |
Below is a table of approximate aggregate throughput capacity, assuming a a CPU with a [single thread](https://www.cpubenchmark.net/singleThread.html#server-thread) performance of 2700 / 4000:
Below is a table of approximate aggregate capacity, assuming a a CPU with a [single thread](https://www.cpubenchmark.net/singleThread.html#server-thread) performance of 1000 / 2000 / 4000:
| Aggregate Throughput | CPU Cores Needed (>2700 single-thread) | CPU Cores Needed (>4000 single-thread) |
| ------------------------| -------------------------------------- | -------------------------------------- |
| 500 Mbps | 2 | 2 |
| 1 Gbps | 4 | 2 |
| 5 Gbps | 6 | 4 |
| 10 Gbps | 8 | 6 |
| 20 Gbps | 16 | 8 |
| 50 Gbps | 32 | 16 |
| 100 Gbps | 64 | 32 |
So for example, an ISP delivering 1Gbps service plans with 10Gbps aggregate throughput would choose a CPU with a 2500+ single-thread score and 8 cores, such as the Intel Xeon E-2388G @ 3.20GHz.
| CPU Cores | Single-Thread Score = 1000 | Single-Thread Score = 2000 | Single-Thread Score = 4000 |
|-----------|----------------------------|----------------------------|----------------------------|
| 2 | 1 Gbps | 3 Gbps | 7 Gbps |
| 4 | 3 Gbps | 5 Gbps | 13 Gbps |
| 6 | 4 Gbps | 8 Gbps | 20 Gbps |
| 8 | 5 Gbps | 10 Gbps | 27 Gbps |
| 16 | 10 Gbps | 21 Gbps | 54 Gbps |
| 32 | 21 Gbps | 42 Gbps | 108 Gbps |
| 64 | 42 Gbps | 83 Gbps | 216 Gbps |
### Memory
* Recommended RAM:
| Subscribers | RAM |
| ------------- | ------------- |
| 100 | 8 GB |
| 1,000 | 16 GB |
| 500 | 16 GB |
| 1,000 | 32 GB |
| 5,000 | 64 GB |
| 10,000 | 128 GB |
| 20,000 | 256 GB |
### Server Recommendations
Here are some convenient, off-the-shelf server options to consider:
| Throughput | Model | CPU Option | RAM Option | NIC Option | Extras | Temp Range |
| --- | --- | --- | --- | --- | --- | --- |
| 2.5 Gbps | [Supermicro SYS-E102-13R-E](https://store.supermicro.com/us_en/compact-embedded-iot-i5-1350pe-sys-e102-13r-e.html) | Default | 2x8GB | Built-in | [USB-C RJ45](https://www.amazon.com/Anker-Ethernet-PowerExpand-Aluminum-Portable/dp/B08CK9X9Z8/)| 0°C ~ 40°C (32°F ~ 104°F) |
| 10 Gbps | [Supermicro AS -1115S-FWTRT](https://store.supermicro.com/us_en/1u-amd-epyc-8004-compact-server-as-1115s-fwtrt.html) | 8124P | 2x16GB | Mellanox (2 x SFP28) | | 0°C ~ 40°C (32°F ~ 104°F) |
| 25 Gbps | [Supermicro AS -1115S-FWTRT](https://store.supermicro.com/us_en/1u-amd-epyc-8004-compact-server-as-1115s-fwtrt.html) | 8534P | 4x16GB | Mellanox (2 x SFP28) | | 0°C ~ 40°C (32°F ~ 104°F) |
| Throughput | Per Node / Per CPU Core| Model | CPU Option | RAM Option | NIC Option | Extras | Temp Range |
| --- | --- | --- | --- | --- | --- | --- | --- |
| 2.5 Gbps | 1 Gbps | [Supermicro SYS-E102-13R-E](https://store.supermicro.com/us_en/compact-embedded-iot-i5-1350pe-sys-e102-13r-e.html) | Default | 2x8GB | Built-in | [USB-C RJ45](https://www.amazon.com/Anker-Ethernet-PowerExpand-Aluminum-Portable/dp/B08CK9X9Z8/)| 0°C ~ 40°C (32°F ~ 104°F) |
| 10 Gbps | 3 Gbps | [Supermicro AS-1115S-FWTRT](https://store.supermicro.com/us_en/1u-amd-epyc-8004-compact-server-as-1115s-fwtrt.html) | 8124P | 2x16GB | Mellanox (2 x SFP28) | | 0°C ~ 40°C (32°F ~ 104°F) |
| 10 Gbps | 5 Gbps | [Supermicro SYS-511R-M](https://store.supermicro.com/us_en/mainstream-1u-sys-511r-m.html) | E-2488 | 2x32GB | 10-Gigabit X710-BM2 (2 x SFP+) | | 0°C ~ 40°C (32°F ~ 104°F) |
| 10 Gbps | 5 Gbps | [Dell PowerEdge R260](https://www.dell.com/en-us/shop/dell-poweredge-servers/new-poweredge-r260-rack-server/spd/poweredge-r260/pe_r260_tm_vi_vp_sb?configurationid=2cd33e43-57a3-4f82-aa72-9d5f45c9e24c) | E-2456 | 2x32GB | Intel X710-T2L (2 x 10G RJ45) | | 540°C (41104°F) |
| 25 Gbps | 3 Gbps | [Supermicro AS-1115S-FWTRT](https://store.supermicro.com/us_en/1u-amd-epyc-8004-compact-server-as-1115s-fwtrt.html) | 8534P | 4x16GB | Mellanox (2 x SFP28) | | 0°C ~ 40°C (32°F ~ 104°F) |
### Network Interface Requirements
* One management network interface completely separate from the traffic shaping interfaces. Usually this would be the Ethernet interface built in to the motherboard.