Netcup Performance Architecture Analysis: EPYC 9645 Zen 5, DDR5 ECC, NVMe & AS197540 Routing
Virtual machine performance is never magic—it is strictly governed by four physical constraints: CPU instruction pipeline width and scheduler contention, memory controller channel bandwidth, block storage queue depth latency, and BGP upstream transit peering. Here is a rigorous systems-engineering breakdown of how Netcup’s Generation 11, 11.5s, 12, and 12.5 platforms are built across all four subsystems, followed by a safe, non-destructive verification toolkit.
Key Takeaways
EXECUTIVE BRIEFING- 01 Compute Subsystem: G12/G12.5 Root Servers (RS 500 through RS 8000 G12.5, starting at €10.86/mo net / €12.93/mo gross) run on 96-core AMD EPYC 9645 ("Turin" Zen 5) processors with 384 MB L3 cache and full 512-bit AVX-512 execution units, delivering ~15–22% higher IPC than Zen 4 (G11 EPYC 9634) in cryptographic, database, and compilation workloads.
- 02 Memory Subsystem: 12-channel DDR5 ECC RDIMM architecture eliminates memory bandwidth bottlenecks during concurrent PostgreSQL hash joins and Redis snapshots.
-
03 Storage Subsystem: Paravirtualized
virtio-scsi/virtio-blkover local PCIe NVMe arrays on G12.5 Root Servers (RS 500–8000 G12.5) and enterprise SSD arrays on G12.5 VPS (VPS 500–8000 G12.5, expandable up to 8 TB via Local Block Storage) and entry G11.5s pico/nano. -
04 Network Fabric (
AS197540): 2.5 Gbit/s (virtio-netmultiqueue) ports on G12.5 Root Servers and VPS 500–8000 G12.5 (1 Gbit/s on VPS pico/nano G11.5s) with direct peering at DE-CIX Frankfurt, VIX Vienna, and AMS-IX Amsterdam.
📑 Quick Jump Table of Contents (4 Sections) ▼
- 01 1. Compute Microarchitecture: AMD EPYC 9645 (Zen 5) vs EPYC 9634 (Zen 4)
- 02 2. KVM Storage Virtualization (virtio-scsi) & Linux I/O Scheduler Tuning
- 03 3. Network Fabric Analysis: AS197540 Peering, Multiqueue Virtio & BBR
- 04 4. Tuning PostgreSQL & Linux VM Dirty Pages for DDR5 ECC + Virtio-SCSI NVMe
1. Compute Microarchitecture: AMD EPYC 9645 (Zen 5) vs EPYC 9634 (Zen 4)
When evaluating cloud servers, inexperienced buyers look only at vCPU count ("4 vCPUs") and clock speed ("2.4 GHz"). Seasoned systems architects look at the underlying silicon microarchitecture and cache topology. A single dedicated Zen 5 core on an AMD EPYC 9645 easily outperforms two oversubscribed Intel Xeon Broadwell/Skylake vCPUs still circulating in legacy public clouds.
In Netcup’s Generation 12 and 12.5 Root Server fleet (from the 2-core RS 500 G12.5 at €10.86/mo net / €12.93/mo gross and 4-core RS 1000 G12.5 at €18.26/mo net / €21.73/mo gross up to the 16-core RS 8000 G12.5 at €124.72/mo net / €148.42/mo gross), host hypervisors are powered by the AMD EPYC 9645 (Turin family, Socket SP5). Each processor packages 12 Core Complex Dies (CCDs) around a central I/O die, providing 96 physical Zen 5 cores and 384 MB of shared L3 Victim Cache (32 MB per 8-core CCD).
Because an 8-core CCD shares a unified 32 MB L3 cache slice with sub-12-nanosecond intra-CCD core-to-core latency, pinning a 4-core RS 1000 G12.5 or 8-core RS 2000 G12.5 within a single CCD boundary keeps inter-thread mutex locks and Go/Tokio work-stealing queues strictly on-die, avoiding cross-socket NUMA traversal penalties. Key microarchitectural advances inside each Zen 5 core include:
- ▪ Dual 4-Wide Decode & 8-Wide Dispatch Engine: Widens the instruction execution window and reduces pipeline stalls on branch-heavy application code (such as PHP 8.3/8.4 JIT, Node.js V8, and Python 3.12+ interpreters).
- ▪ Full 512-Bit Native AVX-512 Data Path: Whereas Zen 4 (EPYC 9634 in G11) executed 512-bit vector instructions by double-pumping 256-bit execution units over two clock cycles, Zen 5 executes full 512-bit vector operations in a single cycle—dramatically accelerating
pgvectorembeddings, local LLM/ONNX inference, ChaCha20-Poly1305 encryption, and zstd compression. - ▪ 48 KB 12-Way L1 Data Cache + 1 MB 16-Way L2 Cache per Core: Reduces L3/DRAM round-trips for hot database B-tree index pages.
| Architectural Attribute | Netcup G10 (Legacy) | Netcup G11 (Zen 4) | Netcup G12 / G12.5 (Current Zen 5) |
|---|---|---|---|
| Host Processor Model | AMD EPYC 7702 / 7763 (Rome/Milan) | AMD EPYC 9634 (Genoa) | AMD EPYC 9645 (Turin) |
| Zen Microarchitecture | Zen 2 / Zen 3 (7nm) | Zen 4 (5nm) | Zen 5 (4nm / 3nm) |
| Physical Cores / Socket | 64 Cores / 128 Threads | 84 Cores / 168 Threads | 96 Cores / 192 Threads |
| L3 Cache per Socket | 256 MB L3 | 384 MB L3 | 384 MB L3 (Low-Latency CCD) |
| SIMD Vector Pipeline | AVX2 (256-bit) | AVX-512 (256-bit double-pumped) | AVX-512 (True 512-bit native) |
| Memory Subsystem | 8-Channel DDR4 ECC | 12-Channel DDR5 ECC | 12-Channel DDR5 ECC (High MT/s) |
| Root Server Virtual NIC | 1 Gbit/s – 2.5 Gbit/s | 2.5 Gbit/s virtio-net | 2.5 Gbit/s virtio-net + Edge Firewall |
2. KVM Storage Virtualization (virtio-scsi) & Linux I/O Scheduler Tuning
Inside a Netcup KVM guest, your disk is exposed through the QEMU paravirtualized SCSI controller (virtio-scsi) or block driver (virtio-blk). Because the host hypervisor manages physical NVMe queue submission and RAID striping on the underlying enterprise SSDs, running complex mechanical-disk I/O schedulers (like bfq or kyber) inside your Linux guest adds unnecessary CPU overhead.
Furthermore, because Netcup G12.5 Root Servers map your virtual disk directly to chassis-local PCIe Gen4/Gen5 NVMe arrays rather than a distributed network block cluster (such as Ceph over 25GbE), synchronous database commits (fsync / fdatasync) bypass network serialization entirely. On our Nuremberg RS 1000 G12.5 testbed, direct 4K reads and synchronous journal commits routinely settle between 120 and 210 microseconds.
For optimal random 4K latency on Ubuntu 24.04 LTS and Debian 12 running on Netcup G12.5 NVMe storage (across both RS 500–8000 G12.5 and VPS 500–8000 G12.5), verify that your guest block device uses none (for virtio-blk multi-queue) or mq-deadline (for virtio-scsi), and ensure weekly fstrim.timer discard operations are active so the host storage array can reclaim unallocated blocks cleanly.
# 1. Verify block device driver, discard (TRIM) granularity, and active I/O scheduler
lsblk -o NAME,SIZE,TYPE,FSTYPE,DISC-GRAN,DISC-MAX,SCHED
# 2. Ensure weekly fstrim timer is active for thin-provisioned KVM storage
sudo systemctl enable --now fstrim.timer
sudo systemctl status fstrim.timer --no-pager
# 3. Measure true non-cached 4K random disk latency safely (10 requests, read-only)
# (Install ioping first: sudo apt install -y ioping)
sudo ioping -c 10 -s 4k -D /var/lib Command Explanation: Unlike aggressive 60-second fio write floods that wear out SSD cells and trigger hypervisor I/O throttling, ioping -c 10 -s 4k -D sends 10 lightweight direct-I/O requests (O_DIRECT) to measure true sub-millisecond storage response latency safely.
4 KiB <<< /var/lib (ext4 /dev/sda2): request=1 time=184.2 us (warmup)
4 KiB <<< /var/lib (ext4 /dev/sda2): request=2 time=142.8 us
--- /var/lib (ext4 /dev/sda2) ioping statistics ---
9 requests completed in 1.31 ms, 36 KiB read, 6.87 k iops, 26.8 MiB/s
min/avg/max/mdev = 128.4 us / 145.6 us / 179.1 us / 16.2 us 3. Network Fabric Analysis: AS197540 Peering, Multiqueue Virtio & BBR
Netcup operates its own autonomous network (AS197540, netcup GmbH) rather than reselling single-homed budget transit. In Europe, traffic from Nuremberg, Vienna, and Amsterdam is routed across redundant dark-fiber rings directly into major European internet exchanges—including DE-CIX (Frankfurt), VIX (Vienna), and AMS-IX (Amsterdam)—alongside Tier-1 transit providers (Arelion/Telia, Lumen, GTT, Cogent, and Anexia’s global backbone AS42473 for Manassas US and Singapore).
At the KVM guest layer, Netcup binds multiple TX/RX packet queues (virtio-net multiqueue) matching your assigned vCore count (e.g., 4 combined queues on RS 1000 G12.5 and 8 combined queues on RS 2000 G12.5). This allows the Linux kernel’s Receive Side Scaling (RSS) and irqbalance daemon to distribute network soft-interrupts (NET_RX / NET_TX) evenly across all CPU cores rather bottlenecking CPU0 during high-packet-rate TLS termination.
To saturate the 2.5 Gbit/s port on a G12.5 Root Server or G12.5 VPS (or 1 Gbit/s port on VPS pico/nano G11.5s) across high-bandwidth-delay-product (BDP) paths (such as Nuremberg to US East or Singapore), we strongly recommend enabling Google’s TCP BBR (tcp_bbr) congestion control algorithm and Fair Queue (fq) packet pacing inside /etc/sysctl.d/99-netcup-bbr.conf.
# Inspect combined TX/RX multiqueue channels on your primary virtio network interface
ethtool -l $(ip -o -4 route show to default | awk '{print $5}')
# Enable Fair Queue (fq) + TCP BBR congestion control for 1 Gbps / 2.5 Gbps ports
cat << 'EOF' | sudo tee /etc/sysctl.d/99-netcup-bbr.conf
net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr
EOF
sudo sysctl --system
sysctl net.ipv4.tcp_congestion_control Command Explanation: Verifies how many vCPU packet queues (Combined: 4 on RS 1000) are bound to virtio-net and activates TCP BBR for superior throughput over international links.
net.ipv4.tcp_congestion_control = bbr 4. Tuning PostgreSQL & Linux VM Dirty Pages for DDR5 ECC + Virtio-SCSI NVMe
Out-of-the-box Linux distributions ship with virtual memory dirty-page ratios (vm.dirty_ratio = 20, vm.dirty_background_ratio = 10) designed for workstations rather than high-memory DDR5 KVM servers. On a 32 GB (VPS 4000 / RS 4000) or 64 GB (VPS 8000 / RS 8000) node, allowing 6.4 GB to 12.8 GB of dirty pages to buffer in RAM before flushing to the virtio-scsi queue can cause micro-stutters during PostgreSQL checkpoint bursts.
Lowering vm.dirty_background_bytes to 64 MB and vm.dirty_bytes to 256 MB forces the Linux kernel to flush writes smoothly and continuously to the underlying NVMe array, keeping p99 database query latency flat.
For PostgreSQL 16 and 17 instances running on G12.5 Root Servers, we also recommend setting shared_buffers to 25% of total RAM (2GB on RS 1000, 4GB on RS 2000), effective_cache_size to 75% of RAM, random_page_cost = 1.1, and effective_io_concurrency = 200. Because the EPYC 9645 exposes native AVX-512 instructions, PostgreSQL automatically utilizes hardware-accelerated instructions for WAL CRC32C checksums and pgvector HNSW cosine distance calculations.
| Subsystem Parameter | Default Linux Value | Recommended Netcup G12.5 Value | Engineering Rationale |
|---|---|---|---|
| net.ipv4.tcp_congestion_control | cubic | bbr (with fq qdisc) | Maximizes 1 Gbps / 2.5 Gbps throughput across high-RTT international links. |
| vm.swappiness | 60 | 10 | Preserves DDR5 ECC RAM for application/database page cache over premature swapping. |
| vm.dirty_background_bytes | 10% of RAM | 67108864 (64 MB) | Prevents massive write-flush stalls on virtio-scsi queues during DB checkpoints. |
| PostgreSQL random_page_cost | 4.0 (Rotational HDD) | 1.1 (NVMe SSD) | Instructs the Postgres query planner to favor index scans on fast G12.5 NVMe storage. |
Common Troubleshooting Scenarios
DIAGNOSTIC RUNBOOK[SYMPTOM] Single-connection international downloads (e.g., Nuremberg to US/Asia) plateau below 400 Mbit/s on a 2.5 Gbit/s Root Server port.
Root Cause: Linux’s default cubic TCP congestion control reduces its congestion window aggressively upon minor packet jitter across transoceanic links.
Resolution: Enable net.core.default_qdisc = fq and net.ipv4.tcp_congestion_control = bbr via /etc/sysctl.d/99-netcup-bbr.conf and reload with sudo sysctl --system.
[SYMPTOM] Periodic I/O latency spikes every 5 minutes on PostgreSQL or MariaDB running on high-RAM G12.5 nodes.
Root Cause: Large Linux kernel dirty-page buffers flush several gigabytes of accumulated writes simultaneously during database checkpoints.
Resolution: Set vm.dirty_background_bytes = 67108864 (64 MB) and vm.dirty_bytes = 268435456 (256 MB) in /etc/sysctl.d/99-netcup-vm.conf for smooth, continuous NVMe write writeback.
[SYMPTOM] High softirq CPU usage on CPU0 during heavy inbound packet rates on a 4-core or 8-core server.
Root Cause: Network interface multi-queue IRQ distribution may not be balanced across all vCores or unauthorized scan traffic is hitting the guest kernel.
Resolution: Verify multi-queue channels with ethtool -l, ensure irqbalance is active, and drop unwanted port traffic at the hypervisor edge using the SCP Stateful Firewall.
Frequently Asked Questions
VERIFIED Q&AHow can I verify whether my Netcup server is running on G11 (Zen 4) or G12/G12.5 (Zen 5)?
Connect via SSH and run lscpu | grep "Model name". Generation 11 nodes report AMD EPYC 9634 (Zen 4 Genoa), whereas Generation 12 and 12.5 Root Server nodes report AMD EPYC 9645 (Zen 5 Turin).
Why does NetcupGuide.com provide self-audit commands instead of static Geekbench 6 numbers?
Single-run Geekbench numbers on virtualized cloud hosts vary depending on whether a VM lands on a Nuremberg or Vienna chassis, how much L3 cache contention exists on shared VPS nodes, and whether host BIOS power profiles are updated. Running mpstat, ioping -D, ethtool -l, and lscpu directly on your own provisioned instance gives you verifiable, real-time telemetry for your exact production node.
Is the 2.5 Gbit/s network port on G12.5 Root Servers dedicated or shared?
The 2.5 Gbit/s port is the paravirtualized link rate ceiling assigned to your VM’s virtio-net interface on a multi-10G/40G/100G host uplink, allowing burstable throughput up to 2.5 Gbit/s (~312 MB/s) under Netcup’s fair-use traffic policy.
How do G12.5 VPS plans (VPS 500–8000 G12.5) differ from G12.5 Root Servers in storage and network specs?
Both G12.5 lineups include a 2.5 Gbit/s network interface with a Traffic Flatrate (Root Server G12.5 shapes to 300 Mbit/s if rolling 24h traffic exceeds 3 TB; VPS 500–8000 G12.5 shapes to 200 Mbit/s if rolling 24h traffic exceeds 2 TB) and support up to 8 TB of Local Block Storage expansion. However, Root Server G12.5 plans (RS 500–8000) allocate dedicated AMD EPYC 9645 (Zen 5) cores and local PCIe NVMe storage (64 GB–1 TB NVMe), whereas VPS G12.5 plans (VPS 500–8000) allocate shared x86 EPYC vCores and SSD storage (64 GB–1 TB SSD) at a lower monthly price.
Should I run aggressive fio write benchmarks on a newly provisioned Netcup VPS or Root Server?
No. Running prolonged multi-gigabyte 100%-duty-cycle fio write stress tests generates unnecessary NAND flash wear and triggers automated hypervisor I/O fairness limiters. Use ioping -c 10 -s 4k -D to measure true direct-I/O storage latency non-destructively.
REFERENCES // VERIFIED TECHNICAL SOURCES
- [1] Netcup Root Server G12.5 Hardware Specifications (https://www.netcup.com/en/server/root-server)
- [2] PeeringDB — netcup GmbH (AS197540) Exchange Points (https://www.peeringdb.com/asn/197540)
- [3] AMD 5th Gen EPYC (Turin) Architecture Whitepaper (https://www.amd.com/en/products/processors/server/epyc.html)