Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:66142 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 93099 invoked from network); 21 Feb 2013 23:43:01 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 21 Feb 2013 23:43:01 -0000 Authentication-Results: pb1.pair.com header.from=daniel@zoltak.com; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=daniel@zoltak.com; spf=permerror; sender-id=unknown Received-SPF: error (pb1.pair.com: domain zoltak.com from 150.101.137.141 cause and error) X-PHP-List-Original-Sender: daniel@zoltak.com X-Host-Fingerprint: 150.101.137.141 ipmail04.adl6.internode.on.net Received: from [150.101.137.141] ([150.101.137.141:37628] helo=ipmail04.adl6.internode.on.net) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id C3/36-58335-401B6215 for ; Thu, 21 Feb 2013 18:43:01 -0500 Received: from ppp154-54.static.internode.on.net (HELO zoltak.com) ([150.101.154.54]) by ipmail04.adl6.internode.on.net with SMTP; 22 Feb 2013 10:12:56 +1030 Received: (qmail 1513 invoked from network); 21 Feb 2013 23:42:55 -0000 Received: from unknown (HELO localhost) (127.0.0.1) by 127.0.0.1 with SMTP; 21 Feb 2013 23:42:55 -0000 Received: from myob.com.au (myob.com.au [203.34.100.2]) by webmail.zoltak.com (Horde Framework) with HTTP; Fri, 22 Feb 2013 10:42:55 +1100 Message-ID: <20130222104255.20815joqlhlt1o1s@webmail.zoltak.com> Date: Fri, 22 Feb 2013 10:42:55 +1100 To: Brendon Colby Cc: Rasmus Lerdorf , "internals@lists.php.net" References: <51229088.90306@lerdorf.com> <5122DA51.6090606@sugarcrm.com> <5122DBA9.2010004@lerdorf.com> <5122E00F.80409@sugarcrm.com> <5122E451.1040308@lerdorf.com> In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; DelSp="Yes"; format="flowed" Content-Disposition: inline Content-Transfer-Encoding: 7bit User-Agent: Internet Messaging Program (IMP) H3 (4.3.8) Subject: Re: [PHP-DEV] PHP causing high number of NFS getattr operations? From: daniel@zoltak.com Quoting Brendon Colby : > We've invested a great deal of money in a high performance shared > storage system, so of course we want to use this system for absolutely > everything we can within reason, including sharing 1500+ PHP files to > our many web servers. I don't think most systems administrators would > find this unreasonable. Great points Brendon! We have a similar architectural to your setup running NetApp filers, Apache/PHP web servers performing shared hosting for over 40,000+ websites. We pull over 35k IOPS and 80% are from PHP stats and getattr's. Someone earlier mentioned that people now use GlusterFS as an alternative. GlusterFS native client runs like absolute crap with Apache/PHP applications in order to get reasonable performance you must use the GlusterFS NFS implementation and mount the GlusterFS using NFS. You end up in the same performance issues using GlusterFS and PHP. More and more clustered PHP applications are using GlusterFS via NFS. Due to the getattr and stat issues in PHP it doesn't scale well in these sorts of deployments. In order to recover some of the performance on our NetApp's we have invested in 1TB of Flash Cache which caches the majority of getattr and stat requests on the filer however there is still a performance hit as the requests still go via the network and not cached on the local client. It would be great to see the PHP devs address this issue. Regards, Dan Zoltak