The purpose of this internal KB is to provide our recommendations for use of Veeam V12.
...
VB365 = Veeam Backup for Microsoft 365
VBR = Veeam Backup and Replication
VBA = Veeam Backup Agent for Windows
General Configuration guidelines
...
Use large storage object size in VBR and VBA ( 4MB or higher )
Assign a dedicated bucket and storage domain per client. This will allow you to take advantage of future support for separate elasticsearch indices per storage domain.
Keep VB365 and VBR in different buckets, as VB365 does not provide the ability to control storage object sizes.
Veeam backup agent ( VBA ) now allows direct to cloud backup, it does however not provide you with a way to limit concurrent connections via the Proxy Threads like VBR does. You will need to define this at the load balancer level. Some examples are provided at the end of this article.
When using multiple gateways in your environment make sure to use a real load balancer, DNS round robin is not a valid load balancing configuration. We recommend using the least connection load balance algorithm.
...
Source reference material: https://bp.veeam.com/vb365/guide/design/sizing/objectstorage.html
Veeam Backup Agent for Windows ( VBA )
When using direct to cloud backup option, using larger block size can yield up to 3.5x faster performance. We recommend at least 4MB block size.
This is configured in the backup job properties → Bucket → Advanced (button) → Storage Tab.
...
You can configure network throttling in settings section. ( but not thread/task concurrency )
...
Veeam Backup and Replication ( VBR )
Note |
---|
Make sure to install and use V12 Cumulative Patch 2 or higher which was released on April 12, where they increased the concurrent delete threads from 1 to 10, affecting the performance of all their backup jobs. Reference: https://www.veeam.com/kb4420 |
...
Limit the concurrent tasks against the backup repository if it is overwhelmed
...
Example HAproxy configuration for handling multi-VBA clients
Scenario 1: simple max connections
You can define maxconn at the backend side ,
Panel | ||
---|---|---|
| ||
backend servers server s1 192.168.30.10:80 check maxconn 30 |
After 30 concurrent connections the rest is queued up...
You can also define how long clients are queued with the following directive:
timeout queue 10s
If you timeout you get a 503, which Veeam will retry.
Scenario 2 : Sliding window option , for burst traffic handling
Panel | ||
---|---|---|
| ||
frontend website bind :80 stick-table type ipv4 size 100k expire 30s store http_req_rate(10s) http-request track-sc0 src http-request deny deny_status 429 if { sc_http_req_rate(0) gt 20 } default_backend servers |
Return 429 if the rate > 20 concurrent requests in the last 10s.