Nice, I see you added the clock support stuff - many thanks - keep up the good work!!
Cal On Sat, Sep 1, 2012 at 11:25 AM, Roberto De Ioris <[email protected]> wrote: > > Hi everyone, the second release candidate of uWSGI 1.3 is available. > > This release contains a lot of optimizations and an infinite series of > code refactoring (we had functions with more than 400 lines written 3 > years ago...). > > A couple of plugins and features have been added, see below. > > Changelog 1.3-rc2 (20120901) > > * the mongrel2 response generator now uses the new uwsgi_buffer structure > for storing headers. This will generate a single zeromq message for all of > the headers. > > * uwsgi.cache_get on remote server for non-existent keys no more spit out > useless errors > > * NEW PLUGIN: router_http (compiled-in by default) > > works in the same way of the uwsgi one but forward requests to an http > server. The uwsgi original request is translated to an http proxy request > (adding specific headers like X-Forwarded-For) > > * NEW OPTIONS for config logic : --if-opt --if-not-opt > > works like --if-env but check for a previously defined uWSGI option > > * NEW FEATURE: --if-env (and --if-opt) can compare values: > > Example: > > if-env = USER=root > http-socket = :80 > endif = > > * NEW OPTION/FEATURE: --spooler-external <path> > > You can map spooler tasks to the directory managed by an external spooler. > > You could abuse that feature for building a centralized (per-server) > spooler > where multiple apps can write. > > As the --spooler option, you can have all of the --spooler-external > options, and you can mix them with --spooler one. > > An example of mixing them would be having a 'local spooler' for > app-specific tasks and a series of 'external spoolers' for services > supplied by your ISP (A company may want to serve predefined spoolers for > things like image processing or video encoding) > > * removed (broken) option --regexp-mount. If you want to map specific > request to specific apps, use the internal routing subsystem. > > * NEW FEATURE: added cpu affinity to FreeBSD systems > > works like the Linux one, if you have 4 processors and want to map each of > them to one of your 4 workers, use --cpu-affinity 1, while if you want to > map 2 core for 2 processes use --cpu-affinity 2 > > * various solaris/illumos/openindiana fixes > > * INTERNAL CHANGE: fully-shared requests structures > > From now on, the master has access to the whole memory used for storing > requests in each worker. That means (in the future) a whole new series of > real-time statistics (no work has been done in that area as it requires > dealing with tons of race conditions, and currently i have no idea on how > to manage them) > > * NEW INFRASTRUCTURE: modular clocks > > uWSGI 1.3 can now use multiple clock sources (you can create new clock > sources using plugins). > > Currently there are 3 plugins available: > > unix (uses time() and gettimeofday()) > realtime (uses clock_gettime with CLOCK_REALTIME) > monotonic (uses clock_gettime with CLOCK_MONOTONIC) > > the 'unix' one is the default. > > Embedded-system developers can easily create new clocks optimized for > their platforms. Check the simplicity of the monotonic plugin: > > > http://projects.unbit.it/uwsgi/browser/plugins/clock_monotonic/clock_monotonic.c > > * added support for Lua tables in the lua plugin (by Aaron B.) > > * fixed fastcgi support for chunks bigger than 64k > > * improvements in the gevent graceful reload subsystem > > * NEW PLUGIN: router_rewrite > > A stripped-down version of Apache mod_rewrite, its main purpose is dealing > with php apps requiring rewrite rules (commonly placed in .htaccess files) > > * NEW PLUGIN: cheaper_busyness (by Łukasz Mierzwa) > > This is an extremely advanced cheaper algorithm (cheaper algorithms are > used for adaptive process spawning) targeted at big deployments where you > want always the maximum possibile performances while having the minimum > amount of required workers. > > We are lucky, as Łukasz wrote documentation for it: > > http://projects.unbit.it/uwsgi/wiki/CheaperBusyness > > * NEW OPTIONS: --list-* > > You can list features loaded in your instance using --list-XXX options, > use --help to get the full list of them. > > For example --list-plugins will print al of the available/loaded plugins > as well --list-routers will print all of the available routers. > > * json output in stats is now human readable > > * improved weighted round robin in fastrouter > > * errors on request body (like the client not seding the whole body) now > reports the amount of datas received and the amount of expected datas. > > * fixed linux sendfile() for files bigger than 2GB > > > You can download it from: > > http://projects.unbit.it/downloads/uwsgi-1.3-rc2.tar.gz > > Thanks for testing it > > -- > Roberto De Ioris > http://unbit.it > _______________________________________________ > uWSGI mailing list > [email protected] > http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi >
_______________________________________________ uWSGI mailing list [email protected] http://lists.unbit.it/cgi-bin/mailman/listinfo/uwsgi
