https://github.com/CakeDC/cakephp-roadrunner was just released!
Some time ago we developed a bridge for the PHP Process Manager, and now we've integrated with another alternative, a fast, go based, PHP application server (see https://github.com/spiral/roadrunner)
Using this approach, and configuring nginx + roadrunner + cakephp, we're getting ~1500 requests per second for a typical index operation (including database access), and over 2200 (!) requests per second using a cached resultset.
Here's what you need to do:
composer require cakedc/cakephp-roadrunner
- Download roadrunner binary and place the file in your filesystem, for example under
/usr/local/bin/rr
- Create a RoadRunner worker file, or use the example worker provided
cp vendor/cakedc/cakephp-roadrunner/worker/cakephp-worker.php . cp vendor/cakedc/cakephp-roadrunner/worker/.rr.json .
Note the configuration is stored in .rr.json file, check all possible keys here https://github.com/spiral/roadrunner/wiki/Configuration
- Start the server, either using your own configuration or the sample configuration provided in the plugin
/usr/local/bin/rr serve
- If you need sessions, follow the additional setup instructions here https://github.com/CakeDC/cakephp-roadrunner/blob/master/README.md
Check plugin details here > https://github.com/CakeDC/cakephp-roadrunner
Last words
Please let us know if you use it, we are always improving our plugins - And happy to get issues and pull requests for our open source plugins. As part of our open source work in CakeDC, we maintain many open source plugins as well as contribute to the CakePHP Community.