Quote:1) no se como ver eso del waiting time, lo unico que se es que tengo espacio en el disco dura de sobra.
El wait time es tiempo durante el que tus procesos estan parados porque les faltan datos que tienen que venir del disco o la red. Nos centraremos en el disco, que creo que es tu problema. La cosa aquí es que los discos pueden realizar un máximo de operaciones por segundo (ya sean grandes o pequeñas). Por ejemplo, un disco SATA normal puede hacer unas 90 operaciones por segundo. Si el sistema pide más, decimos que el disco está "saturado".
Como detectar que está pasando esto? Fácil, lanzamos "top" (o cualquier otra utilidad de monitorización de procesos) y miramos el "wait %" time en la parte de arriba. Si es alto (más del 50%), podemos determinar que tenemos un problema de disco saturado.
Si el disco está saturado, lo que pasa es que se quedan todos los procesos clavados esperando (de ahi el wait time) a que este responda.
Tras la explicación general, al grano. Al activar los php.ini personalizados, el mayor cambio es que ahora las webs tienen definido un "open_basedir" (lista de directorios a los que php puede acceder). Esto es bueno a nivel de seguridad por motivos obvios, pero viene a cambio de un importante coste.
Tal como está php implementado por ahora, activar open_basedir provoca que se desactive la cache de permisos de archivos y directorios. Además, cada vez que accedes a un archivo (ya sea con un include, un fopen o cualquier otra función que toque el disco), php tiene que comprovar toda la ruta de directorios para decidir si tienes acceso ahí o no. Si la caché está desactivada, esto se traduce en aprox. 10 peticiones al disco por cada fichero que php trata de leer/escribir.
Como podrás imaginar, si ya tenías el disco cargadillo (piensa que lo compartes con la otra gente que está en el mismo host), esto implica aún mayor sobrecarga, que sospecho es la culpable del comportamiento que estás viendo en tu server.
Si efectivamente este es el problema, lo único que puedes hacer es tratar de reducir al máximo la carga que le pides al disco (y rezar para que los otros hijosdeputa que están en la misma máquina física que tu hagan lo mismo). Sugerencias:
1. Desactiva open_basedir en los php.ini de todos los dominios, para que así se reactive la caché de permisos y la carga al disco disminuya.
2. Desactiva los .htaccess a todos aquellos dominios que no lo necesiten. Puedes hacerlo añadiendo un trozo similar al siguiente en el archivo "/etc/apache2/ispcp/domain.tld.conf" (donde domain.tld es el dominio que modificas!):
Code:
<Directory /var/www/virtual/dominio.tld/htdocs/>
AllowOverride None
</Directory>
3. Tunea mysql usando alguna utilidad como
mysqltuner.
Quote:3) te mentiria si te digo que si, no se a que te refieres con "launcher correspondiente a ese dominio". Lo que si reinicie el servidor con un #reboot. Tampoco entiendo que es el export correcto (imagino que la linea a la que le saque el comenario "#")
Con "el launcher del dominio" me refiero al archivo /var/www/fcgi/dominio.tld/php5-fcgi-starter de cada dominio. Como comentario añadido, en linux es muy muy raro tener que reiniciar. Con reiniciar apache es más que sufuiciente en este caso.