On Wednesday, January 15, 2014 12:39:57 PM UTC+8, Roberto De Ioris wrote:
>
>
> > Hi Mingli, 
> > 
> > Thanks for  your suggestion. 
> > 
> > Nginx-Clojure is quite different from uwsgi when supports JVM. 
> > 
> > Nginx-Clojure make JVM embed into Nginx worker process. JVM and Nginx 
> > worker have  the same memory process space. 
> > 
> >  Nginx-Clojure heavy uses pointer operation just like C to handle memory 
> > with Nginx worker. 
> > 
> >  If I'm not wrong,  uwsgi create every process for every request, or 
> > shared 
> > JVM processes between request? 
>
> uWSGI creates a pool of processes with a number of threads in each and 
> then they are used for the whole server life cycle. (a pretty standard 
> behaviour) 
>
>
> > 
> > When using Nginx-Clojure there's no IPC cost  even no thread switch cost 
> > if 
> > jvm_workers = 0 which is default. 
> > 
> > So it's why Nginx-Clojure is so fast! 
> > 
>
> i strongly suggest you to avoid the "performance" as a selling point, your 
> project is cool but not for performance (and you are using a pipe to 
> transfer requests data from nginx to the jvm so there ipc in place too, 
> even if you can improve things using OS-specific syscall like splice). 
>
> It is cool because it simplify deployments, but nginx is not an 
> application server, so things like multi-strategy gracefully reloads, 
> stuck-requests managers, offloading and so on are not available. 
>

Nginx is not an  application server, but it can be a good application with 
some module such as nginx-lua which largely used in  production.


> Regarding the "ipc problem", you generally put a load balancer on front of 
> your app, so there is always ipc 
>
>
If we use F5 or LVS(Linux Virtual Server) as a balancer there 's no IPC :)
 

> Do not get me wrong, as i have already said your project is cool, but you 
> should focus not on performance but on better integration with the nginx 
> api for writing non-blocking apps (if possible), something at uWSGI 
> unfortunately failed (the JVM has no support for switching stacks out of 
> the box, something that is required for async mode in uWSGI) 
>

Thank you very much! Really good advices ! :) 

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to