Permalink
Browse files

added some more information about Mojo::IOLoop scalability

  • Loading branch information...
1 parent 4b970fe commit 949ef4bf20a41e16731aee4a3fd9360b9708abc0 @kraih committed May 2, 2014
Showing with 12 additions and 1 deletion.
  1. +1 −1 Changes
  2. +11 −0 lib/Mojo/IOLoop.pm
View
@@ -1,5 +1,5 @@
-4.98 2014-05-02
+4.98 2014-05-03
- Removed deprecated get_line function from Mojo::Util.
- Removed deprecated content_xml, replace_content, text_before, text_after
and to_xml methods from Mojo::DOM.
View
@@ -299,6 +299,17 @@ L<Mojo::IOLoop> is a very minimalistic event loop based on L<Mojo::Reactor>,
it has been reduced to the absolute minimal feature set required to build
solid and scalable non-blocking TCP clients and servers.
+Note that depending on operating system, the default per-process and
+system-wide file descriptor limits are often very low and need to be tuned for
+better scalability. The C<LIBEV_FLAGS> environment variable should also be
+used to select the best possible L<EV> backend, which usually defaults to the
+not very scalable C<select>.
+
+ LIBEV_FLAGS=1 # select
+ LIBEV_FLAGS=2 # poll
+ LIBEV_FLAGS=4 # epoll (Linux)
+ LIBEV_FLAGS=8 # kqueue (*BSD, OS X)
+
The event loop will be resilient to time jumps if a monotonic clock is
available through L<Time::HiRes>. A TLS certificate and key are also built
right in, to make writing test servers as easy as possible. Also note that for

0 comments on commit 949ef4b

Please sign in to comment.