Is a client uploading a file a slow client from unicorn's point of view?
laas at toom.ee
Wed Oct 10 06:59:16 UTC 2012
On 10.10.2012, at 2:54, Eric Wong <normalperson at yhbt.net> wrote:
> Basically, it's the message passing concurrency model vs shared
> memory+locking. There's no clear winner, it just depends on the
> situation. 99% of the time I get away with keeping everything on
> one machine :)
For now we have nginx and unicorn on the same machine, both interacting w/ the storage over network, so there is no difference if the initial write is done by Rails or Nginx.
Later, Resque will pick up the background processing task, which again could be on totally separate machine(s).
And in the most complex scenario - there could be multiple Nginx, multiple Unicorn and multiple Resque nodes, each doing it's part. In such a situation, the Unicorn node can skip the network I/O, if it can base it's upload validation solely on filename and attrs, disregarding the file data itself.
More information about the mongrel-unicorn