Nginx-Clojure Module Release 0.1.0--Let Nginx embrace Clojure & Java

Roberto De Ioris roberto at unbit.it
Wed Jan 15 05:46:11 UTC 2014


> With the default setting pipe is not used.
>
> Pipe is only used for enable jvm thread pool mode only when jvm_workers >
> 0
> (jvm_workers  default  = 0).
>
> Further more pipe is never used to transfer the while request or response
> message.
> When under jvm thread pool mode, pipe is only used to transfer a event
> flag
> (only one pointer size)。
>
> ONLY IF you cann't resolve your performance problems by increasing
> worker_processes or reducing single request-response time, you can
> consider
> the way of setting jvm_workers > 0 which is not encouraged.
>
> Thread switch cost means Thread context switch cost.
>

Sorry, but are you saying that your suggested usage for concurrency is
multiprocessing ?

Multiprocessing is completely alien in the jvm (the vm is not even
fork-friendly) and that would mean the nginx worker completly give control
to the jvm and this is something bad as the jvm is a blocking vm.

The jvm world is thread-centric (and trust me, i needed to deal with
dozens of different threading implementations for uWSGI and the jvm is the
best one) so i am quite doubtful saying "multiprocess by default" would be
a successfull approach (well the amount of memory per-app will be huge)


-- 
Roberto De Ioris
http://unbit.it



More information about the nginx mailing list