DooPhp is a php framework that claims to be the fastest framework around. After testing out a Blog app on the framework I can confirm it certainly is fast for real world applications.
It has some solid documentation and is simple to use. It has some nice helpers to get your applications started including a gui for building controllers and other tasks. It’s got other good features built for scalability.
So I didn’t do an ab test first as a benchmark because it just hits the same page everytime. I just loaded all the pages on the doophp demo blog from scratch and checked out the load times for the dynamic pages. Now I’m not comparing to other frameworks but what I can confirm is after checking the my Nginx server logs, first time page renders are around 10 to 20 times faster than bare bones install of wordpress.
The cool thing about this framework is that it’s very easy to have a rest api and that its easy to design apps where only the dynamic parts of the page are loaded. This makes it ideal for designing apps that can utilize Nginx’s SSI includes module.
With AB test.
I did a test on an old laptop with Nginx and PHP-FPM installed on Ubuntu. ab -t 30 -c 10. A test for 30′s for concurrency 10.
This test is pretty worthless in my opinion but doophp was still around 10 – 20 times faster depending on whether it was an index/archive/tag page or just a post page.
One Comment
BTW, initially I had my APC, PHP-FPM settings wrong. I had 10 static children for PHP-FPM with 10 memory segments of 30 megabytes each for APC.
I increased the php-fpm children to 20 and then the shm-segments to 20 with 30 megabytes for APC.
This improved wordpress performance by about 3 times for wordpress but was negligible for DooPHP. DooPHP was still around 10 times faster anyway (it was way faster without optimizing php-fpm and apc for wordpress). WARNING. Having too many php-fpm static children can severely hamper the performance of your server. You’ve got to find the sweet spot and if you have apc installed you need 1 shared memory segment of 30 megabytes per child. That means if you have 5 children you need 5 shared memory segments which will use up 5 x 30 megs = 150 megs total of ram.
php-fpm can cause I/O problems if not configured properly.