High LA caused by php-fpm

Dimitri Minaev minaev at gmail.com
Wed Apr 15 08:02:55 UTC 2015


Hello,

Today, I tried to move our bunch of Drupal-powered web sites to a new
server.  The old server was running FreeBSD 7.2 and I wanted to install a
newer version. In the meanwhile, I transferred the sites to the new server
(FreeBSD 10.1 on ZFS mirror,  1CPU with 6 cores and hyperthreading).
Everything looked fine, but as soon as the requests rate reached the usual
50-150 req/sec, the server shut up. Load average went up to 60, all
requests timed out and the backlog on php-fpm socket was full (2048). All
diagnostic tools showed that I/O was negligible, there was no swapping and
the only problem was high CPU usage caused by php-fpm.

Php-fpm was configured to start 100 children. When I lowered the number to
50, LA decreased to 30, but the requests were timing out as before.

Things looked like high LA was caused by bad PHP code, but it was the same
code that ran without problems on the old server. I tried to trace PHP
scripts using `truss', but could not find any problems -- just normal
operations.

Slow PHP requests logged by php-fpm contained no regular patterns that
might indicate problematic areas -- any kind of request ended up in the
slow log.
freebsd-questions at freebsd.org
I moved the sites back to the old server. The LA on the old one stayed high
until the queued requests had been processed. What's wrong with php-fpm?

Some specs:
FreeBSD 10.1-RELEASE-p9 running on Xeon(R) CPU E5-2420. Root partition is
on ZFS.
PHP 5.3.29 (5.3 required by developers). Nginx 1.6.2. MySQL runs on another
server and doesn't look like a bottleneck.

This is the upper part of `top' output:

Mem: 317M Active, 5866M Inact, 6819M Wired, 2724M Free
ARC: 5652M Total, 2382M MFU, 2554M MRU, 16K Anon, 32M Header, 684M Other
Swap: 4096M Total, 4096M Free

  PID USERNAME   PRI NICE   SIZE    RES STATE   C   TIME    WCPU COMMAND
34803 www         81    0   310M   172M RUN     4   7:40  31.05%
php-fpm{php-fpm}
34796 www         80    0   314M   175M CPU3    3   7:42  30.57%
php-fpm{php-fpm}
34797 www         81    0   310M   171M RUN     7   7:35  30.57%
php-fpm{php-fpm}
34785 www         80    0   306M   164M *Name   7   7:38  27.88%
php-fpm{php-fpm}
34790 www         80    0   310M   172M RUN     5   6:37  27.88%
php-fpm{php-fpm}
34783 www         80    0   310M   171M *Name   8   7:40  27.78%
php-fpm{php-fpm}
34805 www         80    0   310M   170M CPU6    6   7:38  27.59%
php-fpm{php-fpm}
34821 www         80    0   310M   171M RUN    11   7:39  26.95%
php-fpm{php-fpm}
34815 www         80    0   318M   178M CPU8    8   7:36  26.37%
php-fpm{php-fpm}
34822 www         80    0   310M   171M *Name   0   7:38  26.27%
php-fpm{php-fpm}
34813 www         80    0   314M   175M RUN    10   7:40  25.98%
php-fpm{php-fpm}
34816 www         79    0   314M   175M RUN     6   7:37  25.98%
php-fpm{php-fpm}
34826 www         79    0   314M   175M CPU1    1   7:34  25.98%
php-fpm{php-fpm}
34812 www         79    0   306M   167M RUN     6   7:33  25.88%
php-fpm{php-fpm}
34823 www         79    0   306M   168M *Name   2   7:35  25.78%
php-fpm{php-fpm}
34818 www         79    0   314M   174M *Name   0   7:42  25.68%
php-fpm{php-fpm}
34829 www         79    0   310M   172M CPU11  11   7:37  25.68%
php-fpm{php-fpm}
34806 www         79    0   310M   172M RUN     2   7:35  25.39%
php-fpm{php-fpm}
34817 www         80    0   318M   177M CPU7    7   7:38  25.29%
php-fpm{php-fpm}

Thanks.

-- 
With best regards,
Dimitri Minaev


More information about the freebsd-questions mailing list