SPEED BENCHMARK TEST FastCGI vs PHP-FPM vs Spawn-FCGI: VPS BIBLE




new password?
login
X


php-fpm-fastcgi-spawn-fcgi benchmark test results graph image

Benchmarking php-fpm-fastcgi-spawn-fcgi. So which is fastest then?
with thanks to Mo for the cracking piccy                         (hint: small bars are good)

PHP-FPM Separate or Integrated, Spawn-FCGI or FastCGI? The difference is compared with 7 modular tests to help you choose the best PHP web server solution.

Using bare-bones, freshly installed * and rebooted Linode 360 boxes (Intel Xeon CPU L5520 @ 2.27GHz) and running Nginx web server on Ubuntu Hardy Heron 8.04 32bit, each was tested 10 times to resolve the 7 categories: Strings, Encryption, Dates, Images, Arrays, Filesystem & Objects.

* You can find the precise installation procedures I used for each linked from the PHP Index page.

Setup Unmanaged VPS: The Ubuntu-Nginx Guide

Take your virtual private server from zero to hero

  .. from blank box to cute-as server ..  

with this easy-to-follow copy/paste guide.

22+ parts with video, here’s the index.

Overall, the winner was a Separate PHP-FPM compilation, about 10% faster than PHP-FPM’s Integrated configuration, 14% faster than Spawn-FCGI and almost 20% faster than FastCGI.

Discrepancy Because PHP-FPM is compiled from source and Spawn-FCGI and FastCGI are installed via repositories (using aptitude or apt-get), the applicable PHP versions are PHP-5.3.0 and PHP-5.2.4-2ubuntu5.10 respectively and this will likely have impacted the results. PHP-5.3.0 is bundled with Zend-2.3.0 and PHP-5.2.4-2ubuntu5.10 with Zend-2.2.0 (Zend’s Memory Manager was enabled.)

.. While that sounds like a detraction (and it is a detraction from the laboratory results), as these are the actual versions you get depending on your preferred PHP installation method (from source or via repository) they are usefully reflective scenarios of the kind of PHP execution power you can expect on your server, at least for a machine of similar specification.

About the “Free PHP Benchmark Performance Script”

It calculates benchmark speeds (PHP execution times) of PHP web hosting servers.

The PHP script performs some simple mathematics and repetitive string manipulation functions (20,000 times each), and records the PHP code execution time it takes to complete the PHP functions.

This benchmarking process is repeated 10 times, redirecting back to the PHP script each time after a short pause.

The average PHP code execution time is given along with the average time of 8 iterations – after removing the highest (slowest) and lowest (fastest) completion times.

My thanks to Nick Barrett for tailoring an excellent PHP benchmark script, the best I found and based on that originally found at the Free-Webhosts.com website.

Enough background, here’s the deal:-

PHP-FPM (Separate) Benchmarking

Test Subscores Overall
Strings Encryption Dates Images Arrays Filesystem Objects
1 71 76 60 92 53 78 28 458
2 72 75 37 95 56 82 26 443
3 51 52 24 66 39 55 20 306
4 51 53 24 65 39 81 29 341
5 68 55 26 63 39 55 20 326
6 76 74 40 89 55 80 29 443
7 75 75 40 76 40 57 20 383
8 50 52 28 66 42 58 20 318
9 64 55 36 79 54 66 20 375
10 55 53 24 72 46 81 34 366
Avg 63 ms 62 ms 34 ms 76 ms 46 ms 69 ms 25 ms 376 ms

Lowest time: 306 ms, Highest time : 458 ms
Average of middle 8 times: 374 ms

System Details
PHP 5.3.0

Zend 2.3.0

Avg. Time 376 ms

PHP-FPM (Integrated) Benchmarking

Test Subscores Overall
Strings Encryption Dates Images Arrays Filesystem Objects
1 74 71 9 99 42 136 28 459
2 74 75 9 82 46 96 20 401
3 63 52 6 65 39 101 20 346
4 76 75 6 72 39 109 21 397
5 71 75 9 95 45 102 26 422
6 80 55 6 84 56 143 29 453
7 52 62 9 94 58 122 29 425
8 65 75 8 93 58 135 28 462
9 78 52 6 67 53 120 20 397
10 72 53 6 67 39 115 28 380
Avg 71 ms 64 ms 7 ms 82 ms 48 ms 118 ms 25 ms 414 ms

Lowest time: 346 ms, Highest time : 462 ms
Average of middle 8 times: 417 ms

System Details
PHP 5.3.0

Zend 2.3.0

Avg. Time 414 ms

SPAWN-FCGI Benchmarking

Test Subscores Overall
Strings Encryption Dates Images Arrays Filesystem Objects
1 89 62 254 52 77 96 40 671
2 68 52 33 53 68 98 40 411
3 94 74 45 67 81 76 41 477
4 86 63 34 47 59 68 33 389
5 68 55 32 47 58 85 31 376
6 81 75 48 70 85 76 34 470
7 91 54 46 55 58 81 29 413
8 67 51 33 48 60 65 28 353
9 69 52 33 47 71 92 39 404
10 79 51 30 49 59 67 28 363
Avg 79 ms 59 ms 59 ms 53 ms 68 ms 80 ms 34 ms 433 ms

Lowest time: 353 ms, Highest time : 671 ms
Average of middle 8 times: 413 ms

System Details
PHP 5.2.4-2ubuntu5.10

Zend 2.2.0

Avg. Time 433 ms

PHP-FASTCGI Benchmarking

Test Subscores Overall
Strings Encryption Dates Images Arrays Filesystem Objects
1 92 59 38 48 60 73 28 398
2 86 73 44 63 86 92 40 484
3 94 63 32 57 82 92 35 455
4 92 75 49 51 69 69 28 435
5 69 54 32 57 62 93 40 407
6 93 69 48 70 79 93 41 494
7 82 72 36 66 88 93 39 475
8 95 75 37 47 61 79 35 429
9 108 74 44 66 81 94 40 507
10 94 72 174 70 87 100 42 638
Avg 91 ms 68 ms 53 ms 60 ms 76 ms 88 ms 37 ms 472 ms

Lowest time: 398 ms, Highest time : 638 ms
Average of middle 8 times: 461 ms

System Details
PHP 5.2.4-2ubuntu5.10

Zend 2.2.0

Avg. Time 472 ms

Hope that helps it’s all yer gettin’.

guv

Setup Unmanaged VPS: The Ubuntu-Nginx Guide

Take your virtual private server from zero to hero

with this easy-to-follow copy/paste guide.

“My local PC runs Windows” Show me for Linux/Mac

22+ parts with video, here’s the index ..

Manage Unmanaged VPS: Ubuntu-Nginx Administration

Already set it up? We’d best maintain it then.

Toggle to the ..  Ubuntu-Nginx Admin Index

Manage Unmanaged VPS: Ubuntu-Nginx Administration

Maintain your virtual private server with ..

.. cheatsheets, tutorials, tips & guides.

Head back to the ..  Ubuntu-Nginx Installation Index

Nginx Admin: In the Works ..

This lot’s marked for addition already:-

  • Setup or Edit DNS using Bind
  • Network Tools Troubleshooting Guide
  • The Comprehensive Permissions Guide
  • Configuring Nginx Rewrites
  • Custom Website Error Page
  • Setting up Cron Jobs
  • Rsync for Incremental Remote-to-Local Backup
  • Cron & Rsync for Automatic Backup
  • Cron & mysqldump for Auto DB Backup
  • Safeguard Bandwidth with Hotlink Protection
  • Block Access with Nginx’ IP Deny



Got a Question? Want to Comment?

This site has no comments system. We've got a better system!

Please use the link at the top of the post and goto this topic's forum thread:-

  • to help build community
  • for a superior knowledge base
  • to keep info in one place, not diluted between forum & comments.

For those posts ported from Guvnr.com (pre-Feb/2010), archive comments remain.

Handy info from these comments is in the process of being ported to the forum and attributed to the original author.

If you think this idea sucks, let me know.

Thank you.