You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I get the error `Errno::EMFILE: Too many open files - socket(2) - udp` when trying to run a server. What should I do?
63
+
64
+
On some platforms (e.g. Mac OS X) the number of file descriptors is relatively low by default and should be increased by calling `ulimit -n 10000` before running tests or even before starting a server which expects a large number of concurrent incoming connections.
65
+
66
+
### Server
67
+
68
+
The performance is on the same magnitude as `bind9`. Some basic benchmarks resolving 1000 names concurrently, repeated 5 times, using `Async::DNS::Resolver` gives the following:
These benchmarks are included in the unit tests. To test bind9 performance, it must be installed and `which named` must return the executable.
77
+
78
+
## Performance
79
+
80
+
We welcome additional benchmarks and feedback regarding Async::DNS performance. To check the current performance results, consult the [travis build job output](https://travis-ci.org/socketry/async-dns).
81
+
82
+
### Resolver
83
+
84
+
The `Async::DNS::Resolver` is highly concurrent and can resolve individual names as fast as the built in `Resolv::DNS` resolver. Because the resolver is asynchronous, when dealing with multiple names, it can work more efficiently:
The performance is on the same magnitude as `bind9`. Some basic benchmarks resolving 1000 names concurrently, repeated 5 times, using `Async::DNS::Resolver` gives the following:
These benchmarks are included in the unit tests. To test bind9 performance, it must be installed and `which named` must return the executable.
105
+
106
+
### DNSSEC support
107
+
108
+
DNSSEC is currently not supported and is [unlikely to be supported in the future](http://sockpuppet.org/blog/2015/01/15/against-dnssec/). Feel free to submit a PR.
# Get a list of standard nameserver connections which can be used for querying any standard servers that the system has been configured with. There is no equivalent facility to use the `hosts` file at present.
server =TestServer.new([[:udp, '127.0.0.1', 2346]])
64
-
server.run
65
-
```
66
-
67
-
Then to test you could use `dig` like so:
68
-
69
-
dig @localhost -p 2346 google.com
70
-
71
-
## FAQ
72
-
73
-
### File Handle Limitations
74
-
75
-
I get the error `Errno::EMFILE: Too many open files - socket(2) - udp` when trying to run a server. What should I do?
76
-
77
-
On some platforms (e.g. Mac OS X) the number of file descriptors is relatively low by default and should be increased by calling `ulimit -n 10000` before running tests or even before starting a server which expects a large number of concurrent incoming connections.
78
-
79
-
### Server
80
-
81
-
The performance is on the same magnitude as `bind9`. Some basic benchmarks resolving 1000 names concurrently, repeated 5 times, using `Async::DNS::Resolver` gives the following:
These benchmarks are included in the unit tests. To test bind9 performance, it must be installed and `which named` must return the executable.
90
-
91
-
## Performance
92
-
93
-
We welcome additional benchmarks and feedback regarding Async::DNS performance. To check the current performance results, consult the [travis build job output](https://travis-ci.org/socketry/async-dns).
94
-
95
-
### Resolver
96
-
97
-
The `Async::DNS::Resolver` is highly concurrent and can resolve individual names as fast as the built in `Resolv::DNS` resolver. Because the resolver is asynchronous, when dealing with multiple names, it can work more efficiently:
The performance is on the same magnitude as `bind9`. Some basic benchmarks resolving 1000 names concurrently, repeated 5 times, using `Async::DNS::Resolver` gives the following:
These benchmarks are included in the unit tests. To test bind9 performance, it must be installed and `which named` must return the executable.
118
-
119
-
### DNSSEC support
9
+
Please see the [project documentation](https://socketry.github.io/async-dns/) for more details.
120
10
121
-
DNSSEC is currently not supported and is [unlikely to be supported in the future](http://sockpuppet.org/blog/2015/01/15/against-dnssec/). Feel free to submit a PR.
11
+
-[Getting Started](https://socketry.github.io/async-dns/guides/getting-started/index) - This guide explains how to get started with the `async-dns` gem.
0 commit comments