Archive for the ‘Apache’ Category

Habilitar el profiling en Moodle a través de Xhprof

domingo, noviembre 29th, 2015

La opción de Moodle para habilitar el modo profiling esta ubicada en Administracion del sitio > Desarrollo > Profiling

En este caso en imagen debes establcer la opción de habilitación y además establecer un ‘*’ para que pueda hacer un profiling a todas las paginas.

moodle_profiling

Luego en Profiling runs, podras ver la lista de ejecuciones de los distintos accesos a las pagina, al ver el detalle te podrás encontrar con cosas como las siguientes

moodle_profiling2

Instalando xhprof para profiling de PHP

domingo, noviembre 29th, 2015

Una de las herramientas para hacer profiling en PHPes xhprof. Al momento de escribir este articulo estaba en su versión 0.9.4

Los pasos a seguir en su instalacion en mi caso en CEntOS son:

yum install graphviz
wget https://pecl.php.net/get/xhprof-0.9.4.tgz
tar xzf xhprof-0.9.4.tgz 
cd xhprof-0.9.4/extension/
phpize
./configure
make
make install

Luego editas el INI

vi /etc/php.d/xhprof.ini

Le estableces

[xhprof]
extension=xhprof.so
xhprof.output_dir="/tmp/xhprof"

Antes de reiniciar apache crea la carpeta para que guarde los datos del profiling

cd /tmp
mkdir xhprof
chown apache.apache xhprof/
ln -s /var/log/xhprof-0.9.4/xhprof_html xhprof
systemctl restart httpd

Eclipse: Como una pequeña introducción

jueves, septiembre 4th, 2014

Aqui un video que muestra desde el comienzo como descargar e instalar eclipse. En esta caso se descarga la version JEE.

Solución a Internal Dummy Connection

domingo, julio 6th, 2014

Es posible si tienes un servidor apache corriendo con una version mayor a la 2.2.x que te aparezca una linea en el log construída de la siguiente forma

::1 - - [06/Jul/2014:22:27:48 -0400] "OPTIONS * HTTP/1.0" 200 - "-" "Apache/2.2.15 (Red Hat) (internal dummy connection)"

En mi caso existian varias al punto de que se generaban en algunos casos una por segundo. Pensé que era algo que no debía pasar, pero la misma documentacion de apache dice que esto sucede para poder administrar los procesos hijos que genera apache promoviendo una solución, el establecer en el httpd.conf, donde se configura el log la línea

SetEnvIf Remote_Addr "127\.0\.0\.1" loopback

Esto no soluciona el problema, sólo logra que la linea no se escriba en el log, por lo que igual sabes que se esta administrando algo de forma que en algunos casos carga el servidor, porque se estan enviando peticiones desde loopback, o sea, desde si mismo, para si mismo. Descubri en elgunos sitios que las directivas aplicadas en un .htaccess en la raiz de /var/www/html minimizaba el problema

RewriteCond %{HTTP_USER_AGENT} ^.*internal dummy connection.*$ [NC]
RewriteRule .* - [F,L]

Finalmente encontre a alguien que comento que debiese ser que los min server y maxserver estarán mal configurados, por lo que debían incrementarse, a lo cual hice caso, y hasta el momento no he vuelto a tener el aviso, en mi caso la siguiente configuracion ayudó (verifica bien los valores antes de cambiarlos, podrías provocar en tu servidor otras situaciones derivadas del cambio):

<IfModule prefork.c>
StartServers       20
MinSpareServers    100
MaxSpareServers    200
ServerLimit     1530
MaxClients      1530
MaxRequestsPerChild  4000
</IfModule>

 

Ver
Wiki Apache Internal Dummy conection