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.