惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
Docker
AI
AI
博客园 - 三生石上(FineUI控件)
腾讯CDC
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Y
Y Combinator Blog
大猫的无限游戏
大猫的无限游戏
H
Hackread – Cybersecurity News, Data Breaches, AI and More
雷峰网
雷峰网
NISL@THU
NISL@THU
S
Schneier on Security
T
Threatpost
T
Tenable Blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
IT之家
IT之家
宝玉的分享
宝玉的分享
T
Tailwind CSS Blog
C
Cybersecurity and Infrastructure Security Agency CISA
P
Privacy & Cybersecurity Law Blog
I
Intezer
Microsoft Azure Blog
Microsoft Azure Blog
月光博客
月光博客
T
Threat Research - Cisco Blogs
SecWiki News
SecWiki News
AWS News Blog
AWS News Blog
博客园 - Franky
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
P
Proofpoint News Feed
V
V2EX
Recorded Future
Recorded Future
Microsoft Security Blog
Microsoft Security Blog
S
Secure Thoughts
Google DeepMind News
Google DeepMind News
MongoDB | Blog
MongoDB | Blog
Apple Machine Learning Research
Apple Machine Learning Research
Project Zero
Project Zero
PCI Perspectives
PCI Perspectives
G
GRAHAM CLULEY
Help Net Security
Help Net Security
Cloudbric
Cloudbric
Recent Announcements
Recent Announcements
V
Visual Studio Blog
Hacker News: Ask HN
Hacker News: Ask HN
N
News and Events Feed by Topic
C
CERT Recently Published Vulnerability Notes
The Cloudflare Blog
Forbes - Security
Forbes - Security
C
Cisco Blogs
O
OpenAI News
www.infosecurity-magazine.com
www.infosecurity-magazine.com

plugin on CoreDNS: DNS and Service Discovery

kubernetes log proxyproto rewrite forward clouddns errors grpc_server https https3 template docker auto geoip nomad dnstap import view ready etcd header loadbalance bind grpc file prometheus quic timeouts kubeforward JSON gslb autopath dnssec root tls fanout k8s_cache bufsize k8s_external reload gathersrv meship meshname multicluster acl cache recursor health trace tsig k8s_event redis route53 dns64 transfer finalize kubenodes ebpf rrl secondary mysql warnlist loop minimal sign azure git local any cancel debug erratic metadata nsid pprof alternate k8s_dns_chaos records k8s_gateway hosts netbox mdns wgsd alias chaos whoami lighthouse ens idetcd gravwell amazondns kubernetai redisc unbound on dump pdsql ipin demo example
multisocket
2025-12-11 · via plugin on CoreDNS: DNS and Service Discovery

Description

With multisocket, you can define the number of servers that will listen on the same port. The SO_REUSEPORT socket option allows to open multiple listening sockets at the same address and port. In this case, kernel distributes incoming connections between sockets.

Enabling this option allows to start multiple servers, which increases the throughput of CoreDNS in environments with a large number of CPU cores.

Syntax

multisocket [NUM_SOCKETS]
  • NUM_SOCKETS - the number of servers that will listen on one port. Default value is equal to GOMAXPROCS. Maximum value is 1024.

Examples

Start 5 TCP/UDP servers on the same port.

. {
	multisocket 5
	forward . /etc/resolv.conf
}

Do not define NUM_SOCKETS, in this case it will take a value equal to GOMAXPROCS.

. {
	multisocket
	forward . /etc/resolv.conf
}

Recommendations

The tests of the multisocket plugin, which were conducted for NUM_SOCKETS from 1 to 10, did not reveal any side effects or performance degradation.

This means that the multisocket plugin can be used with a default value that is equal to GOMAXPROCS.

However, to achieve the best results, it is recommended to consider the specific environment and plugins used in CoreDNS. To determine the optimal configuration, it is advisable to conduct performance tests with different NUM_SOCKETS, measuring Queries Per Second (QPS) and system load.

If conducting such tests is difficult, follow these recommendations:

  1. Determine the maximum CPU consumption of CoreDNS server without multisocket plugin. Estimate how much CPU CoreDNS actually consumes in specific environment under maximum load.
  2. Align NUM_SOCKETS with the estimated CPU usage and CPU limits or system’s available resources. Examples:
    • If CoreDNS consumes 4 CPUs and 8 CPUs are available, set NUM_SOCKETS to 2.
    • If CoreDNS consumes 8 CPUs and 64 CPUs are available, set NUM_SOCKETS to 8.

Limitations

The multisocket value used for a given listen address is taken from the first server block that binds to that address in the Corefile. Subsequent server blocks using the same address will not change it. Different addresses may use different values.

The SO_REUSEPORT socket option is not available for some operating systems. It is available since Linux Kernel 3.9 and not available for Windows at all.

Using this plugin with a system that does not support SO_REUSEPORT will cause an address already in use error.