-
Notifications
You must be signed in to change notification settings - Fork 49
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Add multithreading blurb * Make linter happy
- Loading branch information
1 parent
dc60c6b
commit f95736d
Showing
2 changed files
with
34 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
--- | ||
title: Multithreading | ||
description: Enable ZeroTier to use multiple physical cores | ||
--- | ||
|
||
As of version `1.14.1` ZeroTier is capable of utilizing more than one CPU core for traffic processing. This enables greater total throughput and more efficient use of machines handling large amounts of traffic. | ||
|
||
:::info BETA | ||
This is currently a beta feature and we welcome any feedback and/or test results. For now it is only available for Linux and is disabled by default. It will be ported to FreeBSD, macOS, and Windows in a future release. | ||
::: | ||
|
||
The feature requires manual activation using the `local.conf` file in the same home directory that stores your node’s identity files. If that file is not already present, create it. | ||
|
||
### Example usage | ||
|
||
```json title="Example local.conf" | ||
{ | ||
"settings": | ||
{ | ||
"multicoreEnabled": true, | ||
"concurrency": 2, | ||
"cpuPinningEnabled": true | ||
} | ||
} | ||
``` | ||
|
||
*[See here](https://docs.zerotier.com/config) for more info on how to configure the client using `local.conf`* | ||
|
||
### Tip for success | ||
|
||
It is recommended that you choose a concurrency level that is reflective of the actual number of physical (not virtual) cores on your machine. For instance, if `nproc` reports `4`, set a concurrency level of `2`. Additionally, enabling [pinning](https://en.wikipedia.org/wiki/Processor_affinity) seems to improve performance in more cases than not. | ||
|
||
Multithreading is unlikely to improve performance over the Internet but will over a physical LAN in most cases. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters