Introduction
This article reports a measured performance check of WinSyslog on one Azure virtual machine, Standard_D2as_v6. Use it to judge how fast this size is, and whether it can carry the syslog rate you expect. It is not a deployment guide.
Compare your expected peak with the planning limit below. If that peak stays under the limit, this VM keeps about 1.5x headroom on the measured flat-file ceiling. A service that filters messages, runs actions, or writes to a database will land lower, so use the ceiling as an upper bound for this setup, not as a guaranteed production rate.
Executive summary
WinSyslog was tested on one Azure virtual machine, Standard_D2as_v6, on 1 October 2026. The test used one TCP receiver, RFC 3164, a flat file, and tcpflood from an Ubuntu sender. Use the 1,000,000-message rate as the flat-file ceiling. This VM fits when that ceiling is at least 1.5 times the expected peak.
Key findings:
- Planning limit: up to about 43,000 msg/s, with about 1.5x headroom on the measured ceiling.
- Ceiling: 65,811 msg/s on the 1,000,000-message test with 16 connections.
- Peak: 71,736 msg/s on the 100,000-message test with 2 connections. Do not plan on this short peak.
- Per vCPU: 32,906 msg/s on the 1,000,000-message test.
Above 43,000 msg/s this VM does not keep the 1.5x reserve. A different size or further configuration is required.
This VM
Standard_D2as_v6 is a D-series, general-purpose size: 2 vCPUs and about 8 GiB, for a syslog service that does not share the machine with heavy other work.
CPU
- Processor: AMD EPYC 9V74
- Cores: 1 physical core
- Logical processors: 2
- Clock speed: 2,596 MHz
Memory
- RAM: 8,187 MB
Storage
- C: drive: 126 GB
How to read the rates
The rates above are a ceiling for this lab setup. A production service that filters messages, runs actions, or writes to a database will land lower. Treat 65,811 msg/s as the upper bound for flat-file receive, not as a guaranteed production rate.
This test did not cover more than one receiver, UDP, a database backend, or a filter chain.
Results
Throughput
| Test | Throughput |
|---|---|
| 50,000 / 1 connection | 46,555 msg/s |
| 100,000 / 2 connections | 71,736 msg/s |
| 200,000 / 4 connections | 64,893 msg/s |
| 500,000 / 8 connections | 61,192 msg/s |
| 1,000,000 / 16 connections | 65,811 msg/s |

Duration
| Test | Duration |
|---|---|
| 50,000 / 1 connection | 1.074 s |
| 100,000 / 2 connections | 1.394 s |
| 200,000 / 4 connections | 3.082 s |
| 500,000 / 8 connections | 8.171 s |
| 1,000,000 / 16 connections | 15.195 s |

Two numbers for this size
| Measure | Value |
|---|---|
| 1,000,000-message rate | 65,811 msg/s |
| Messages per second per vCPU | 32,906 |
| Peak | 71,736 msg/s |
The peak was the 100,000-message test with 2 connections. The 1,000,000-message rate is the number to plan with. 32,906 msg/s per vCPU is that rate divided by the two logical processors.
Cost shape
This test did not record an Azure price. Check the current pay-as-you-go rate for Standard_D2as_v6 in West US 2 in the Azure pricing calculator. Rates change.
Sizing
| Expected peak | Use Standard_D2as_v6? | Measured ceiling (1M test) | Headroom at 43,000 msg/s |
|---|---|---|---|
| Up to 43,000 msg/s | Yes | 65,811 msg/s | about 1.5x |
| Above 43,000 msg/s | No, not alone | 65,811 msg/s | under 1.5x |
Stay on this size when the expected peak remains under 43,000 msg/s. Above that, this VM does not keep the 1.5x reserve. Use a different size or further configuration. Short bursts can run closer to the 71,736 msg/s peak than a continuous 1,000,000-message load.
Test methodology and environment
- Date: 1 October 2026
- Platform: Microsoft Azure, region westus2
- VM: Standard_D2as_v6, taken from the benchmark batch file. The measured hardware matches that size: 2 logical processors, 1 core, 8,187 MB, AMD EPYC 9V74.
- Protocol: TCP syslog, RFC 3164
- Receiver: one TCP receiver, flat log file
- Sender: remote tcpflood from an Ubuntu server
- WinSyslog build: not recorded in the result file. The service configuration was held constant.
| Test | Messages | Connections |
|---|---|---|
| 1 | 50,000 | 1 |
| 2 | 100,000 | 2 |
| 3 | 200,000 | 4 |
| 4 | 500,000 | 8 |
| 5 | 1,000,000 | 16 |
The VM processed 1,850,000 messages across the five tests. Duration is duration seconds plus duration milliseconds divided by 1,000. Throughput is messages divided by that duration.
A test passed when the exit code was 0 and the result status was PASSED. All five tests passed.
Limits and conclusion
Standard_D2as_v6 covers an expected flat-file peak up to about 43,000 msg/s, using the 65,811 msg/s result at 1,000,000 messages and about 1.5x headroom.
This is one run, in one region, with one receiver writing a flat file. Adding filters or a database requires a new test.
