Existem algumas maneiras de fazer isso.
1: ative o mod_status no seu servidor. Isso permite que você obtenha uma visão geral de como o servidor apache está se comportando em geral navegando para / server-status /. Lembre-se de limitar o acesso a este local:
ExtendedStatus on
<Location /server-status>
SetHandler server-status
Order deny,allow
Deny from all
Allow from 127.0.0.1
Allow from 192.168.0.0/24
</Location>
2: Modifique sua diretiva LogFormat para adicionar tempo de processamento. Você pode associar URIs a tempos de resposta:
LogFormat "%h %t \"%r\" %b sec:%T usec:%D"
Isso exibirá o ip remoto, a solicitação de data e hora, a solicitação, os bytes enviados, os segundos e os microssegundos.
3: para o tamanho da memória do script e a taxa de acertos do script, o console administrativo que vem com o Xcache é muito bom. Scripts com grandes hierarquias de classe podem se expandir para muitos megas na memória.
4: A criação de perfil dos seus scripts php pode ajudar. Se você quer se concentrar em criar um único script, o Xdebug certamente ajudará. O usuário Damien sugere um caminho. Eu sugeriria registrar seu uso de memória e também usar o microtime, mas colocar um limite para log onit, assim:
$THRESH = 2;
$profile = array();
$profile['start'] = microtime( true );
// stuff
$profile['end'] = microtime( true );
$profile['delta'] = $profile['end'] - $profile['start'];
if( $profile['delta'] >= $THRESH )
error_log( __FILE__.": ".$profile['delta']." seconds " );
Ajustar o limite mantém seus logs muito mais limpos.