It appears that when using Starman (with Catalyst) that requests are
bufferend before passing off to the app. What happens is that the
Catalyst UploadProgress plugin does not see any data until it's all been
sent to the server. (So, the progress bar stays at 0% until the upload is
complete and then quickly jumps to 100%.)
Wondering how best to address this issue.
A few questions:
Am I correct that this buffering of the upload request happens in the
Starman child/worker process -- so although Catalyst isn't seeing the
request until the upload has completed the process is still busy? That
is, it's not like store-and-forward done by Nginx or Perlbal where the
process is free to handle other requests during this time?
At one point we were using Perlbal for balancing -- on separate machines
than the web servers with heartbeat and failover. Now we have good
hardware load balancers. I'd prefer to not run a another set of balancers
in this setup, so was thinking of running Nginx or Perlbal on *each* web
server. See any disadvantage of this kind of configuration?
Any other configurations to consider?