Fork of WebGUI 7.10, maintained by Oqapi https://git.oqapi.nl/oqapi/webgui
Find a file
2010-04-16 20:57:25 -05:00
docs Merge branch 'master' into WebGUI8 2010-04-16 20:45:22 -05:00
eg
etc updated gitignore 2010-04-15 18:49:26 -05:00
lib delete WebGUI::Session::Os 2010-04-16 20:57:19 -05:00
sbin note new module versions 2010-04-16 20:57:25 -05:00
t delete WebGUI::Session::Os 2010-04-16 20:57:19 -05:00
var note new module versions 2010-04-16 20:57:25 -05:00
www back/forward button/menu done 2010-04-14 19:56:18 -05:00
.gitignore
.perltidyrc
app.psgi fix some WebGUI::Paths stuff, multi-site plackup 2010-04-16 20:56:30 -05:00
asset_status.ods
benchmark.pl
README URL handlers are now completely replaced by Middleware 2010-04-14 16:25:10 -04:00
TODO
WebGUI-Session-Plack.pm

This is the PSGI branch of WebGUI8

Currently, the best performance is achieved via:

 plackup -E none -s Starman --workers 10 --disable-keepalive
 
You can benchmark your server via:

 ab -t 3 -c 10 -k http://dev.localhost.localdomain:5000/ | grep Req
 
I'm currently getting 370 requests/second, whereas I'm getting 430/second on the non-PSGI WebGUI8 branch.

= ARCHITECTURE =

* The .psgi file gets to set WEBGUI_ROOT and WEBGUI_CONFIG.
* It instantiates the $wg WebGUI object (one per app).
* $wg creates and stores the WebGUI::Config (one per app)
* $wg creates the $app PSGI app code ref (one per app)
* WebGUI::Middleware::Session is wrapped around $app at the outer-most layer so that it can open and
  close the $session WebGUI::Session. Any other wG middleware that needs $session should go in between
  it and $app ($session created one per request)
* $session creates the $request WebGUI::Session::Request and $response WebGUI::Session::Response 
  objects (one per request)