about summary refs log tree commit homepage
DateCommit message (Collapse)
2011-05-10configurator: update user-facing documentation
Finally, we have all methods in configurator and it's much easier to document!
2011-05-10max_body: documentation updates
It can't be used as middleware for fully-buffering concurrency models.
2011-05-10LICENSE: add GPLv3 to license terms
GPLv2 and Ruby-specific terms remain intact, but this means we can be combined and redistributed with GPLv3-only software (once Unicorn has GPLv3 added to its license).
2011-05-10configurator: move validation logic over
There's actually no reason we can't have these methods in Rainbows::Configurator where it's easier to document nowadays.
2011-05-09doc: better document :pool_size options
CoolioThreadPool has had it supported forever, but only NeverBlock had it documented.
2011-05-09TODO: misc updates
Some things were never going to get done due to lack of interest from users.
2011-05-09doc: update comparison and README
Clearly users need to know about more options
2011-05-09xepoll_thread_*: add rdoc for users
It's good to describe what they're useful for.
2011-05-09xepoll_thread_spawn/client: remove rdoc
It's an internal implementation detail.
2011-05-09max_body: rdoc updates
speling ficks and less confusing #initialize documentation
2011-05-09xepoll_thread_pool: add optional :pool_size argument
We're now able to configure the number of threads independently of worker_connections.
2011-05-09split out pool_size module
coolio_thread_pool, neverblock both use it, and xepoll_thread_pool will support it next, too.
2011-05-09t0041: less confusing skip message
Just the test name is irrelevant
2011-05-09add XEpollThreadPool concurrency option
This is probably friendlier on server resources in the worst case than XEpollThreadSpawn but may perform worse in the client client-visible way, too.
2011-05-08Revert "epoll: fixes for Ruby 1.9.3dev"
Fixed in kgio 2.4.0 now This reverts commit a1168e7d2bfe182896f139d051ef099616fd1646.
2011-05-08join_threads: simplify thread stoppage check
No need for a string comparison
2011-05-08require kgio 2.4.0
kgio 2.4.0 has some 1.9.3dev fixes which affect us
2011-05-08epoll_wait: flags argument is unused
We only poll for one event (EPOLLIN/EPOLLOUT) at a time, so there's no need to actually check since they're too rare.
2011-05-08xepoll: cleanup acceptor logic
worker_yield is safer than setting a threshold with multiple acceptors when thread limits are hit. Also, avoid sleep + Thread#run since it's potentially racy if threads are extremely unfairly scheduled. Same things applied to xepoll_thread_spawn.
2011-05-08xepoll_thread_spawn: rework acceptor logic
Infinite sleep is too dangerous due to possible race conditions, so use worker_yield which is safer and cheaper in the general case. We can also avoid sleeping on new threads by only spawning when the client module is included.
2011-05-08xepoll_thread_spawn/client: close returns nil
Otherwise pipeline_ready can false positive on us
2011-05-08xepoll_thread_spawn: inline needless method
shorter line and 3 lines of code killed!
2011-05-08process_client: fix pipeline_ready arity
Not that it's actually used, right now.
2011-05-06remove unnecessary variable assignments
2011-05-06test_isolate: update to latest raindrops and unicorn
Newer versions should be better
2011-05-06ensure some requires get loaded in master
More sharing, faster startups, and most importantly, better error reporting if some things are missing.
2011-05-05http_server: XEpollThreadSpawn sets RLIMIT_NPROC
It *can* have as many threads as it does idle connections.
2011-05-03Rainbows! defaults more DRY
We won't forget to reset defaults on SIGHUP anymore.
2011-05-03s/max_bytes/client_max_body_size/ for consistency
Too confusing otherwise...
2011-05-03add client_header_buffer_size tuning parameter
We're changing our default to 1K buffers to save memory. This should reduce memory usage of idle clients and lower pressure on the MRI GC. Rails applications using session cookies (the default) may want to up this to 2K or more.
2011-05-02rainbows: get rid of MODEL_WORKER_CONNECTIONS constant
Just use regular autoload, now. Less guesswork.
2011-05-02http_server: default all options to 50 connections
pavinging the way for changing MODEL_WORKER_CONNECTIONS
2011-05-01doc: add Sandbox document
Rainbows! is a bit bigger than Unicorn and usually requires being sandboxed, too.
2011-04-30lower header buffer sizes for synchronous models
HTTP headers are usually smaller than 4K, so 16K was way too much for most users and often caused unnecessary GC runs. EventMachine and Coolio models can all share the same initial read buffer, so it's less urgent that they get this lowered for now...
2011-04-30xepoll_thread_spawn: lower memory usage
This one actually has a realistic chance of running hundreds/thousands of clients, and 32K per-client is a huge amount.
2011-04-29epoll: fix timeout
Epoll#wait and epoll_wait(2) timeouts are in milliseconds, not seconds. This affects xepoll, too.
2011-04-29xepoll_thread_spawn: fix race condition with acceptors
Noticed under 1.8.7
2011-04-29xepoll_thread_spawn: initial implementation
Whee! This is going to be awesome.
2011-04-28document epoll and xepoll
They're probably ready for general use in a very limited capacity...
2011-04-26doc: stop recommending Fiber* stuff
Too much NIH and too fragile.
2011-04-26revactor: remove documentation for internal methods
2011-04-26revactor: do not recommend, upstream is dormant
2011-04-26stream_file: hide internals
No need to expose things that don't need exposing.
2011-04-25make all concurrency options use 50 by default
This may change again in the future, but it paves the way for simplifying this code...
2011-04-21thread_timeout: annotate as much as possible
This should make code review easier.
2011-04-21increase RLIMIT_NPROC for thread-crazy folks
Might as well, threads are free and cheap on 64-bit
2011-04-21http_server: attempt to increase RLIMIT_NOFILE
In case people try to do C10K, make life easier for them.
2011-04-21thread_timeout: document Thread.pass usage
Thread-switching sometimes takes too long under YARV, so we force a switch since the watchdog thread is lower-priority.
2011-04-21join_threads: workaround blocking accept() issues
Should be fixed in 1.9.3 and/or future Kgio...
2011-04-21bump dependency to Unicorn 3.6.0
Might as well use the latest and greatest.