linux-scalability-benchmarks / gatling / README.proxy

The default branch has multiple heads

gatling has primitive CGI support which is implemented as a proxy.

The idea is that you specify a regex and an ip and a port.  If the regex
matches the requested URL, gatling will not answer the query itself but
make a TCP connection to the ip and the port.  So, in effect, gatling
can be used to quickly serve static data but let someone else (an Apache
maybe) serve the Java servlets.

In my tests I used fnord as backend to run a CGI program.  This ought to
combine the best of all worlds.

For testing, run gatling like this:

  ./gatling -O 127.0.0.1/8023/cgi$

And then run fnord in the same directory like this:

  tcpserver -v -u `id -u nobody` -RHl localhost 0 8023 fnord-cgi

Another idea I have is to not relay the requests synchronously but
through a request pool.  If there are more requests than slots in the
pool, gatling could prioritize the requests through an external program.
My current idea is that gatling would run an external program (think:
perl) that would get peer IP address and HTTP request on stdin and write
a priority on stdout.

You can have more than one -O statement.  The first matching will always
be used.  So you can have one backend for .jsp and a different one for
.cgi.

This CGI proxy mode will only be used if the file ".proxy" exists in the
root of the virtual server.
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.