Re: PHP Performance and System Load

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

What is your desired performance level on what kind of hardware.

Have look memcached,

General performance tip do not include more than 10 files a page load.


I had CMS project too. Sometimes it uses 10 MB of php memory (generally uses 3 
mb of php memory). It uses Memcached in every way possible. Uses php Adodb 
for sql connection. Uses SQL based sessions. 

Except the external libs (adobs, php sniffer, phpmailer etc) no object method 
used. Also we had language, template support.

Generally be able to pump 5-7 pages per second on intel PII 350 mhz 320 mb ram 
IDE hdd. If I remove XSS detector (auto check for every member of  $_REQUEST 
array). It can reach 9 - 10 pages per second.

My Experiences
Looping around sql is bad.  Reading large flatfiles bad. 
Processing large texts are bad (Templating, Lots of preg replaces). 

If any of those operation was write once read many, store to memcached, then 
use it. 

Another simple performance tip.

Most of for examples of php look like this
for($x=0;$x<sizeof($arrSometing);$x++)

This is bad. In every cycle you call sizeof

this was good
$intSize = sizeof($arrSometing);
for($x=0;$x<$intSize;$x++)

if u use.
for($x=0;$x<$intSiz;++$x). You may gain another %10 

to determine costs of your functions use xdebug and kcachegrind.

Hope Helps.

Regards

Sancar

On Friday 20 July 2007 10:25:47 Sascha Braun, CEO @ ejackup.com wrote:
> Dear People,
>
> I developed a very large Application, which has at the moment strong
> performace problems, while pages are loaded.
>
> At the moment I am trying to lower the number of filesystem calls as
> much as I can. I was able allready to lower the rate of filesystem
> calls from round about 260 calls, which normaly included database calls
> each time as well.
>
> Now a page loads with round about 36 Filesystem and database calls, so
> a improvement could really get established.
>
> Now, as I might have imagined, the next problem is the object model of
> the application which was very flexible in the past two years. But now
> over time, for example the content management class grew up to 400 Kb
> which is for a web application hell of a lot.
>
> But it seems it is the only class at that enormous size.
>
> I am using the PHP5 autoload functionality exclusive, so no other way
> of loading classes is getting used.
>
> No I started to come in mind of, splitting the cms class into smaller
> potions. Will it really improve the page load, or will the object ini-
> tialisations of the new appearing mass of classes have the same effect
> as a class, stored in the eaccelator cache with a memory consumtion
> round about 400 Kb?
>
> Another question is, that I started to include my application framework
> over a symlink placed in every webspace directory. I've read somewhere
> that linux needs time to resolve a symlinks target.
>
> Can this be a real performance issue? All datasets as well as images,
> modules and all application relevant informations are loaded from that
> symlinked place at the moment.
>
> The webserver does only contain the webspace filesystem structure as
> well as 5 line of PHP Code dummies, for every document in the content
> management system, to avoid the usage of mod_rewrite.
>
> It would be really wonderfull, to be able to discuss my questions with
> you people here :))
>
> Best Regards,
>
>
> Sascha

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux