Foros del Web » Administración de Sistemas » Shared Hosting y VPS »

Consumo excesivo de recursos

Estas en el tema de Consumo excesivo de recursos en el foro de Shared Hosting y VPS en Foros del Web. ...por eso me han cerrado la web. No se cómo solucionarlo (ellos si, me dicen que contrate un servidor dedicado). Me podeís dar alguna solución? ...
  #1 (permalink)  
Antiguo 03/08/2005, 04:47
Avatar de Jokin  
Fecha de Ingreso: enero-2002
Mensajes: 725
Antigüedad: 22 años, 3 meses
Puntos: 1
Consumo excesivo de recursos

...por eso me han cerrado la web. No se cómo solucionarlo (ellos si, me dicen que contrate un servidor dedicado). Me podeís dar alguna solución?

Cito:[I]

Cita:
El motivo de esta suspención se debe a la mala utilización de los
servicios mySQL por parte de sus scripts, lo que
provoca picos de carga en el servidor, motivo suficiente para
suspender su sitio ya que afecta el normal funcionamiento de los
servidores y perjudica a otros usuarios que hospedan sitios en los
mismos.

La solucion que podemos ofrecer para que su sitio se encuentre nuevamente en linea es un servidor dedicado.

-Para mas información sobre los términos establecidos por datatec.com lea los puntos 2, 3 y 4 de nuestra sección Legales

A continacion le adjunto los log de sus consultas a las bases de datos.
Código:
\'+--------+------------------+-----------+-------------------+---------+-------+----------------+------------------------------------------------
| Id | User | Host | db | Command | Time | State | Info
+--------+------------------+-----------+-------------------+---------+-------+----------------+-------------------------------------------------
| 399911 | kabanta_ | localhost | kabanta_ | Sleep | 1 | |
| 399916 | kabanta_ | localhost | kabanta_ | Sleep | 8 | |
| 399931 | kabanta_ | localhost | kabanta_ | Sleep | 2 | |
| 399939 | kabanta_ | localhost | kabanta_ | Sleep | 73 | |
| 399944 | kabanta_ | localhost | kabanta_ | Sleep | 33 | |
| 399946 | kabanta_ | localhost | kabanta_ | Sleep | 5 | |
| 399954 | kabanta_ | localhost | kabanta_ | Sleep | 3 | |
| 399955 | kabanta_ | localhost | kabanta_ | Query | 2 | closing tables | SELECT COUNT(*) FROM cpg_pictures as p INNER JOI
| 399956 | kabanta_ | localhost | kabanta_ | Sleep | 1 | |
| 399958 | kabanta_ | localhost | kabanta_ | Sleep | 9 | |
| 399959 | kabanta_ | localhost | kabanta_ | Sleep | 9 | |
| 399960 | kabanta_ | localhost | kabanta_ | Sleep | 9 | |
| 399961 | kabanta_ | localhost | kabanta_ | Sleep | 8 | |
| 399962 | kabanta_ | localhost | kabanta_ | Sleep | 10 | |
| 399963 | kabanta_ | localhost | kabanta_ | Sleep | 10 | |
| 399964 | kabanta_ | localhost | kabanta_ | Sleep | 10 | |
| 399965 | kabanta_ | localhost | kabanta_ | Sleep | 8 | |
| 399966 | kabanta_ | localhost | kabanta_ | Sleep | 10 | |
| 399967 | kabanta_ | localhost | kabanta_ | Sleep | 10 | |
| 399968 | kabanta_ | localhost | kabanta_ | Sleep | 8 | |
| 399970 | kabanta_ | localhost | kabanta_ | Sleep | 8 | |
| 399971 | kabanta_ | localhost | kabanta_ | Sleep | 9 | |
| 399973 | kabanta_ | localhost | kabanta_ | Query | 3 | Writing to net | SELECT user_id FROM nuke_users
| 399974 | kabanta_ | localhost | kabanta_ | Sleep | 1 | |
| 399977 | kabanta_ | localhost | kabanta_ | Sleep | 1 | |
| 399978 | kabanta_ | localhost | kabanta_ | Query | 1 | Locked | UPDATE nuke_users SET puntos=puntos+1 WHERE user
| 399979 | kabanta_ | localhost | kabanta_ | Sleep | 6 | |
| 399980 | root | localhost | | Query | 1 | | show processlist
+--------+------------------+-----------+-------------------+---------+-------+----------------+-------------------------------------------------
+--------+------------------+-----------+---------------------+---------+------+----------------+------------------------------------------------
| Id | User | Host | db | Command | Time | State | Info
+--------+------------------+-----------+---------------------+---------+------+----------------+------------------------------------------------
| 400224 | kabanta_ | localhost | kabanta_ | Sleep | 103 | |
| 400292 | kabanta_ | localhost | kabanta_ | Query | 1 | Opening tables | SELECT * FROM nuke_bbconfig
| 400295 | kabanta_ | localhost | kabanta_ | Query | 1 | Opening table | DELETE FROM nuke_estadisticas WHERE (date < 112
| 400296 | kabanta_ | localhost | kabanta_ | Query | 1 | Opening table | update nuke_estadisticas_modules set hits=hits+
| 400297 | kabanta_ | localhost | kabanta_ | Query | 1 | Opening table | UPDATE nuke_counter SET count=\'3100854\' WHERE t
| 400298 | kabanta_ | localhost | kabanta_ | Query | 1 | Opening table | UPDATE nuke_counter SET count=\'3100854\' WHERE t
| 400299 | kabanta_ | localhost | kabanta_ | Query | 1 | closing tables | select user_id,username,nacimiento from nuke_us
| 400301 | kabanta_ | localhost | kabanta_ | Query | 1 | Opening table | INSERT INTO nuke_estadisticas_detalles VALUES (
| 400302 | kabanta_ | localhost | kabanta_ | Query | 1 | Opening table | DELETE FROM nuke_estadisticas_detalles WHERE (m
| 400303 | kabanta_ | localhost | kabanta_ | Query | 1 | closing tables | UPDATE nuke_estadisticas SET date=\'1123005282\',
| 400304 | kabanta_ | localhost | kabanta_ | Query | 1 | Opening table | DELETE FROM nuke_estadisticas WHERE (date < 112
| 400305 | kabanta_ | localhost | kabanta_ | Query | 1 | Opening table | UPDATE nuke_counter SET count=count+1 WHERE var
| 400306 | kabanta_ | localhost | kabanta_ | Query | 1 | closing tables | UPDATE nuke_estadisticas SET date=\'1123005283\',
| 400307 | kabanta_ | localhost | kabanta_ | Query | 1 | Opening table | DELETE FROM nuke_estadisticas WHERE (date < 112
| 400309 | kabanta_ | localhost | kabanta_ | Query | 1 | Opening table | DELETE FROM nuke_estadisticas WHERE (date < 112
| 400310 | kabanta_ | localhost | kabanta_ | Query | 1 | closing tables | UPDATE nuke_estadisticas SET date=\'1123005284\',
| 400311 | kabanta_ | localhost | kabanta_ | Query | 1 | Opening tables | select user_id,username,nacimiento from nuke_us
| 400312 | kabanta_ | localhost | kabanta_ | Query | 1 | closing tables | select user_id,username,nacimiento from nuke_us
| 400313 | kabanta_ | localhost | kabanta_ | Sleep | 1 | |
| 400314 | kabanta_ | localhost | kabanta_ | Sleep | 5 | |
| 400315 | kabanta_ | localhost | kabanta_ | Query | 1 | closing tables | select user_id,username,nacimiento from nuke_us
| 400316 | kabanta_ | localhost | kabanta_ | Sleep | 1 | |
| 400317 | kabanta_ | localhost | kabanta_ | Query | 1 | Opening tables | SELECT username FROM nuke_users ORDER BY user_i
| 400318 | kabanta_ | localhost | kabanta_ | Query | 1 | Opening table | DELETE FROM nuke_estadisticas WHERE (date < 112
| 400319 | kabanta_ | localhost | kabanta_ | Query | 1 | Opening tables | SELECT username FROM nuke_users ORDER BY user_i
| 400320 | kabanta_ | localhost | kabanta_ | Sleep | 2 | |
| 400321 | kabanta_ | localhost | kabanta_ | Sleep | 1 | |
| 400322 | kabanta_ | localhost | kabanta_ | Query | 1 | Opening tables | select user_id,username,nacimiento from nuke_us
| 400323 | kabanta_ | localhost | kabanta_ | Query | 1 | closing tables | SELECT COUNT(*) FROM cpg_pictures as p INNER JO
| 400324 | kabanta_ | localhost | kabanta_ | Query | 1 | Opening tables | SELECT * FROM cpg_config
| 400325 | kabanta_ | localhost | kabanta_ | Query | 1 | Opening tables | select * from nuke_banip where banip=\'69.93.155
| 400330 | root | localhost | | Query | 0 | | show processlist

+-----+-----------+-----------+-------------------+---------+------+----------------------+------------------------------------------------------
Gracias y un saludo
  #2 (permalink)  
Antiguo 03/08/2005, 06:56
 
Fecha de Ingreso: mayo-2005
Mensajes: 278
Antigüedad: 18 años, 11 meses
Puntos: 3
verificaste tu codigo? por ejemplo, al final de cada pagina tenes la sentencia "mysql_close();", esto es asi para PHP, caso contrario te quedan las consultas abiertas. Por otro lado tienes mucha actividad, es eso normal? tienes muchas visitas?.
Un proveedor normalmente te daria estas posibilidades, el tema de proponerte psar a un dedicado es una respuesta automatica y en su beneficio.
  #3 (permalink)  
Antiguo 03/08/2005, 07:24
Avatar de Jokin  
Fecha de Ingreso: enero-2002
Mensajes: 725
Antigüedad: 22 años, 3 meses
Puntos: 1
Saludos pacefi:

Voy a mirar si cierro todas las consultas.

Cuando dices "tienes mucha actividad". Es una afirmación o un pregunta? La web recibe entre 1000 y 1500 visitas únicas, creo que no es mucho para que ocurra esto.

Gracias y un saludo
__________________
  #4 (permalink)  
Antiguo 03/08/2005, 09:15
Avatar de Apolo
Colaborador
 
Fecha de Ingreso: abril-2003
Ubicación: ubicado
Mensajes: 7.961
Antigüedad: 21 años
Puntos: 109
Cita:
Iniciado por pacefi
Un proveedor normalmente te daria estas posibilidades
¿Cuáles posibilidades?



Cita:
Iniciado por pacefi
el tema de proponerte psar a un dedicado es una respuesta automatica y en su beneficio.
No necesariamente. El proveedor de hosting no tiene por qué cargar con los defectos de programación de un sitio, ni tiene por qué tolerar que un sitio específico haga funcionar de manera inadecuada el servidor, en perjuicio de los demás usuarios.

Saludos.
  #5 (permalink)  
Antiguo 03/08/2005, 10:38
 
Fecha de Ingreso: mayo-2005
Mensajes: 278
Antigüedad: 18 años, 11 meses
Puntos: 3
Apolo, me refiero a que decirle que la alternativa es un servidor dedicado es a mi parecer un poco exagerado, estoy de acuerdo con suspender un sitio que trae problemas a los demas, pero en mi experiencia siempre me indicaron las posibles causas del problema, uno que otro consejo, me pidieron que revise el sitio y que les avise para probar de nuevo, nunca me dieron como solucion pasarme a un servidor dedicado. Menos con un sitio con 1000 a 1500 visitas unicas al dia.

Jokin, me refiero a que me parece que tienes muchas consultas ejecutandose, muchos opening y closing juntos, no se, tal vez sea normal, alguien que provea hosting seguramente sabra mas.

Saludos
  #6 (permalink)  
Antiguo 03/08/2005, 12:28
 
Fecha de Ingreso: mayo-2002
Mensajes: 88
Antigüedad: 21 años, 10 meses
Puntos: 0
Coincido con pacefi. Al menos le pueden sugerir que revise su código...
1000-1500 visitas al día no debería afectar tanto.
Solicitales más información sobre las consultas.
Y según parece utilizás PHP-Nuke, ¿no? Deshabilitá módulos de estadísticas y demás cuestiones que no sean 100 % necesarias para probar si mejora.
Y si podés, actualizá a la última versión de PHP-Nuke, si es que no la tenés.

Saludos,

Jonathan
__________________
http://www.intohosting.net - INTO Hosting, desde el año 2000 brindando la mejor relación calidad-precio del mercado.
  #7 (permalink)  
Antiguo 03/08/2005, 12:48
Avatar de Apolo
Colaborador
 
Fecha de Ingreso: abril-2003
Ubicación: ubicado
Mensajes: 7.961
Antigüedad: 21 años
Puntos: 109
Cita:
Iniciado por pacefi
Apolo, me refiero a que decirle que la alternativa es un servidor dedicado es a mi parecer un poco exagerado
Claro, es *probable* que sea exagerado, pero dependiendo de las circunstancias específicas, es *probable* que en realidad sea la mejor opción.

Y claro, nosotros mismos hemos tenido que decir esto en algunas ocasiones a algunos clientes, y en ese momento, como por arte de magia, en realidad se apuran a modificar y optimizar su código.



Cita:
Iniciado por pacefi
Menos con un sitio con 1000 a 1500 visitas unicas al dia.
Otro detalle. Puede que 1000 a 1500 visitas únicas al día no sean mucho, pero es que no siempre se trata del número de visitas, sino del nivel de carga y de los procesos que se generan sobre el servidor. Esto puede ocurrir porque la aplicación en sí consume muchos recursos, o porque, lo más común, hay defectos de programación.

Saludos.
  #8 (permalink)  
Antiguo 03/08/2005, 12:56
Avatar de Apolo
Colaborador
 
Fecha de Ingreso: abril-2003
Ubicación: ubicado
Mensajes: 7.961
Antigüedad: 21 años
Puntos: 109
Cita:
Iniciado por Jony
Coincido con pacefi. Al menos le pueden sugerir que revise su código...
Para complementar mi comentario...

Cita:
nosotros mismos hemos tenido que decir esto en algunas ocasiones a algunos clientes, y en ese momento, como por arte de magia, en realidad se apuran a modificar y optimizar su código
... no sé cómo haya sido la situación específica de Jokin (y a propósito, discúlpame por favor por el comentario fuera de tópico), pero a veces ocurre que al cliente se le avisa una o dos veces que por favor revise su código y no ocurre nada... pero cuando uno le habla de tomar su propio servidor y pagar un par de cientos de dólares mensuales, entonces, allí sí, toman las medidas del caso. Es como todo, depende del cliente, de su manejo y de las circunstancias.

Ahora, si de entrada se le dice a un cliente esta opción (tomar un servidor dedicado) puede en realidad ser demasiado apresurado... o también puede ocurrir que, a *juicio* del proveedor de hosting, el sitio consume tal cantidad de recursos que ni siquiera las revisiones del código o las optimizaciones que se llevan a cabo, van a ser efectivas.

Saludos.
  #9 (permalink)  
Antiguo 03/08/2005, 15:29
 
Fecha de Ingreso: mayo-2004
Ubicación: Madrid
Mensajes: 659
Antigüedad: 19 años, 10 meses
Puntos: 1
Yo también he tenido problemas por un cliente con un código mal tirado. Dejar a un servidor "echo polvo" es cosa de unas pocas lineas... un bucle de queries a MySQL (con una tabla mal creada) puede generar muchos problemas, pero no con 1000 visitas sino con 2.

No es un número de visitas lo que determina la carga que le genera al servidor, estoy completamente de acuerdo con Eboy.

Otra cosa es que un servidor que está sobrecargado de dominios tenga unos niveles de "tolerancia" a una mala programación mucho más bajos que un servidor con unos márgenes de seguridad correctos.
__________________
Salu2,
24/7 :adios:
** NO a las patentes de software **

El nacionalismo es una enfermedad que se cura viajando (Pío Baroja)
  #10 (permalink)  
Antiguo 03/08/2005, 16:15
 
Fecha de Ingreso: mayo-2002
Mensajes: 88
Antigüedad: 21 años, 10 meses
Puntos: 0
Más que las visitas a lo largo del día lo que puede generar inconvenientes es un caudal de visitas en un mismo momento. Por ejemplo... si colocamos un anuncio en la televisión que diga "los que entren en los próximos 5 minutos se ganan tal cosa" y eso genera consultas y MySQL es muy probable que todo colapse.
Por lo que se veía en las consultas que mostraba Jokin tiene pinta de ser un PHP-Nuke. PHP-Nuke realiza cantidad de consultas importantes, no es de las aplicaciones más amistosas a la hora de cuidar los procesos. Pero debería funcionar sin inconvenientes, y más aún con un caudal diario de 1000-1500 visitas que si bien es un número no es tanto tampoco. Si tenés alguna aplicación que hayas programado vos, o código modificado, tendrías que revisarlo bien.
Como bien dijeron, unas pocas líneas puede jorobar bastante un servidor. No me extrañaría que en algún momento contemos con herramientas necesarias para evitar este tipo de cosas, ya que he visto colapsar servidores completos por "pequeños errores de código".

Saludos,

Jonathan
__________________
http://www.intohosting.net - INTO Hosting, desde el año 2000 brindando la mejor relación calidad-precio del mercado.
  #11 (permalink)  
Antiguo 04/08/2005, 08:46
Avatar de Jokin  
Fecha de Ingreso: enero-2002
Mensajes: 725
Antigüedad: 22 años, 3 meses
Puntos: 1
Wow:

Gracias a todos por vuestros comentarios, veo que sabeís del tema. En otro foro me han aconsejado desactivar un par de módulos del PHP-Nuke (más exactamente del NukeET) para reducir la carga al MySQL. Personalmente dudo que sea problema del código mal programado ya que somos bastantes los que usamos dicho código (NukeET) pero espero que reduciendo la carga a MySQL funcione bastante mejor.

Les voy a comentar a los del servidor la posible solución para que puedan reactivar la web a la máxima brevedad. Veremos la capacidad de respuesta.

Gracias y un saludo
__________________
  #12 (permalink)  
Antiguo 05/08/2005, 06:30
Avatar de Jokin  
Fecha de Ingreso: enero-2002
Mensajes: 725
Antigüedad: 22 años, 3 meses
Puntos: 1
Ok....
Me han activado la web, para que efectue las modificaciones pertinentes.

He desactivado el módulo sommaire y las estadísticas.....
y en el archivo footer.php que es el que todas las páginas de nuestra comunidad tienen en la parte de abajo, he instalado justo antes de ?> esto:

mysql_close();

Supongo que será suficiente pero si tienen alguna otra idea les agradecería me la sugirieran.

Si alguien quiere ver la web es la siguiente:

ABC Músicos

Gracias y un saludo
__________________
  #13 (permalink)  
Antiguo 06/02/2008, 05:36
Avatar de popobcn
Moderador
 
Fecha de Ingreso: noviembre-2006
Ubicación: Cerdanyola del Vallès
Mensajes: 3.892
Antigüedad: 17 años, 5 meses
Puntos: 1142
Re: Consumo excesivo de recursos

jokin,

Le he echado un vistazo a tu home y la verdad es que esta algo cargado... ¿no crees? Has de pensar que cada BLOQUE o MODULO que tienes representado en la portada, supone en PHP-Nuke un consulta a la BBDD y aunque practicamente la carga de las mismas no representen de forma individual una carga, el conjunto si que puede cargar de transacciones el servidor.

Quizás podrias llegar a optimizar un poco el tema de las cargas elminando bloques de información DUPLICADOS que tienes en la portada, como por ejemplo:

1. NOTICIAS:
1.1. Tienes un bloque con los títulos de los últimos 10 artículos
1.2. Tienes el modulo NEWS activado en el HOME

El primer bloque, a mi entender sobra, ya que de cara a indexaciones de google u optimización general de la página, el modulo NEWS en portada ofrece mayor información enlazada a los articulos completos y además, hace que tú portada tenga siempre información dinámica de la temática de tu página.

2. UNIFICAR TOPS:
Otra cosa que intentaría cambiar, o mejor dicho, unificar es el tema de los TOPS. Si quieres, puedes recopilar el total de TOPS en un único modulo y enlazarlo directamente en el bloque de modulos de tu portal, de esta forma te ahorras dos consultas más

3. BLOQUE MODULOS ACTIVOS:
Si tus secciones son FIJAS y no amplias constantamente el nº de secciones, puedes PERSONALIZAR el contenido de ese bloque con el fin de ahorrar también otra consulta más a la bbdd, para así mostrar directamente las opciones disponibles en cada una de las secciones o apartados de tu página web.

4.- FORO y BLOQUES:
Si una de las secciones más visistas de tu portal es el foro, haría un cambio en la ubicacion del BLOQUE "Últimas Imagenes" ya que por cada carga de página en el foro, estas forzando que se realizen de nuevo las consultas relacionadas con estos bloques:

4.1. Bloque modulos activos: Personalizandolo ya te ahorras una consulta
4.2. Bloque Usuarios
4.3. Bloque Últimas imagenes: Yo lo cambiaria de posicion y lo pondria a la derecha, con el fin de que no apareciera cuando se abren los foros

Otra posibilidad es que cuando se entre en los foros, no se muestren los bloques laterales. De esta forma, se gana en visibilidad y navegación. También otra posibilidad que te ofrece PHP-Nuke es la personalizacion de CABECERAS, ya que dependiendo del MODULO cargado puedes indicar de forma fácil que cargue una cabecera u otra. De esta forma puedes simplificar el apartado del registro en caso de que fuera necesario con un simple enlace en el header de tu theme.

Bueno, no se me ocurre por el momento nada mas... Espero que te haya servido de ayuda!

Saludos
  #14 (permalink)  
Antiguo 06/02/2008, 05:55
Avatar de Jokin  
Fecha de Ingreso: enero-2002
Mensajes: 725
Antigüedad: 22 años, 3 meses
Puntos: 1
Re: Consumo excesivo de recursos

Saludos popobcn:

Tu respuesta la voy a tener que leer tranquilamente. Muchísimas gracias por tus consejos.

Le voy a dar un repaso a todo lo que me dices a ver si conseguimos aligerar la carga.

Se agradece enormemente tu aportación.

Si tengo alguna duda, si no te importa, te la haré saber.

Un saludo
__________________
  #15 (permalink)  
Antiguo 06/02/2008, 06:59
Avatar de popobcn
Moderador
 
Fecha de Ingreso: noviembre-2006
Ubicación: Cerdanyola del Vallès
Mensajes: 3.892
Antigüedad: 17 años, 5 meses
Puntos: 1142
Re: Consumo excesivo de recursos

jokin,

Sin problemas... :) Para esto estamos todos aqui metidos no? Sobre personalizaciones de bloques y modulos, pregunta.

Saludos
  #16 (permalink)  
Antiguo 06/02/2008, 14:24
Avatar de Apolo
Colaborador
 
Fecha de Ingreso: abril-2003
Ubicación: ubicado
Mensajes: 7.961
Antigüedad: 21 años
Puntos: 109
Re: Consumo excesivo de recursos

Bien, parece que en algunas ocasiones revivir temas de casi 3 años atrás sí sirve y sí vale la pena.



Saludos,
__________________
Planes VPS en el mundo > DirectorioVPS
Visita los foros de hosting de ComunidadHosting
  #17 (permalink)  
Antiguo 06/02/2008, 15:32
Avatar de Jokin  
Fecha de Ingreso: enero-2002
Mensajes: 725
Antigüedad: 22 años, 3 meses
Puntos: 1
Re: Consumo excesivo de recursos

Nunca es tarde Apolo , además es un problema que siempre hemos tenido y como el tema de programación no es lo mío pues nunca he sabido como arreglarlo.

popobcn, por partes:

1. NOTICIAS:
1.1. Tienes un bloque con los títulos de los últimos 10 artículos (DESACTIVADO)

2. UNIFICAR TOPS:

Ok, con lo de unificarlos todos...pero cómo se hace eso? he dicho que lo de PHP me cae algo lejos?

3. BLOQUE MODULOS ACTIVOS:

No se si te refieres al bloque de la izquierda al que llamamos Menú Principal. Dicho bloque, en principio era un módulo que variaba en función de las secciones que teníamos pero lo cambié por puro HTML:

Código:
<table cellspacing="0" cellpadding="0" width="100%" border="0"><tbody><tr height="4"><td></td></tr><tr><td><a href="http://www.abcmusicos.com/index.php"><img src="http://www.abcmusicos.com/images/sommaire/icon_home.gif" border="0" alt=""/></a> <a href="http://www.abcmusicos.com/index.php"><font class="storytitle" color="#000000"><strong>Principal</strong></font></a></td></tr><tr><td><hr/></td></tr><tr bgcolor="#e6ebf4" height="4"><td></td></tr><tr><td bgcolor="#e6ebf4"><img src="http://www.abcmusicos.com/images/sommaire/icon_general.gif" border="0" alt=""/> <font class="storytitle"><strong>Noticias</strong></font></td></tr><tr id="sommaire-1" name="sommaire-1"><td bgcolor="#e6ebf4"><table cellspacing="0" cellpadding="0" width="100%" border="0"><tbody><tr><td align="right" width="20"><img src="http://www.abcmusicos.com/images/sommaire/categories/icon_dot.gif" border="0" alt=""/> </td><td> <a href="http://www.abcmusicos.com/modules.php?name=Submit_News"><font class="boxcontent" color="#000000" size="1">  Enviar Noticias</font></a></td></tr><tr><td align="right" width="20"><font size="1"><img src="http://www.abcmusicos.com/images/sommaire/categories/icon_dot.gif" border="0" alt=""/> </font></td><td> <a href="http://www.abcmusicos.com/modules.php?name=Stories_Archive"><font class="boxcontent" color="#000000" size="1">  Archivo de Noticias</font></a></td></tr></tbody></table></td></tr><tr bgcolor="#e6ebf4" height="4"><td><font size="1"></font></td></tr><tr><td><font size="1"><hr/></font></td></tr><tr height="4"><td><font size="1"></font></td></tr><tr><td><font size="1"><img src="http://www.abcmusicos.com/images/sommaire/icon_forums.gif" border="0" alt=""/></font> <font class="storytitle"><strong>Comunidad</strong></font></td></tr><tr id="sommaire-2" name="sommaire-2"><td><table cellspacing="0" cellpadding="0" width="100%" border="0"><tbody><tr><td align="right" width="20"><img src="http://www.abcmusicos.com/images/sommaire/categories/icon_dot.gif" border="0" alt=""/> </td><td> <a href="http://www.abcmusicos.com/modules.php?name=Recommend_Us"><font class="boxcontent" color="#000000" size="1">  Recomiendanos</font></a></td></tr><tr><td align="right" width="20"><font size="1"><img src="http://www.abcmusicos.com/images/sommaire/categories/icon_dot.gif" border="0" alt=""/> </font></td><td> <a href="http://www.abcmusicos.com/modules.php?name=Feedback"><font class="boxcontent" color="#000000" size="1">  Comentarios</font></a></td></tr><tr><td align="right" width="20"><font size="1"><img src="http://www.abcmusicos.com/images/sommaire/categories/icon_dot.gif" border="0" alt=""/> </font></td><td> <a href="http://www.abcmusicos.com/modules.php?name=Forums"><font class="boxcontent" color="#000000" size="1">  Foros</font></a></td></tr></tbody></table></td></tr><tr height="4"><td><font size="1"></font></td></tr><tr><td><font size="1"><hr/></font></td></tr><tr bgcolor="#e6ebf4" height="4"><td><font size="1"></font></td></tr><tr><td bgcolor="#e6ebf4"><a href="http://www.abcmusicos.com/modules.php?name=Downloads" target="_blank"><font color="#000000" size="1"><img src="http://www.abcmusicos.com/images/sommaire/icon_downloads.gif" border="0" alt=""/></font></a> <a href="http://www.abcmusicos.com/modules.php?name=Downloads" target="_blank"><font class="storytitle" color="#000000"><strong>Descargas y enlaces</strong></font></a></td></tr><tr id="sommaire-3" name="sommaire-3"><td bgcolor="#e6ebf4"><table cellspacing="0" cellpadding="0" width="100%" border="0"><tbody><tr><td align="right" width="20"><img src="http://www.abcmusicos.com/images/sommaire/categories/icon_dot.gif" border="0" alt=""/> </td><td> <a href="http://www.abcmusicos.com/modules.php?name=Downloads&d_op=viewdownload&cid=2" target="_blank"><font class="boxcontent" color="#000000" size="1">  Partituras</font></a></td></tr><tr><td align="right" width="20"><font size="1"><img src="http://www.abcmusicos.com/images/sommaire/categories/icon_dot.gif" border="0" alt=""/> </font></td><td> <a href="http://www.abcmusicos.com/modules.php?name=Downloads&d_op=viewdownload&cid=1" target="_blank"><font class="boxcontent" color="#000000" size="1">  Parches de traducción</font></a></td></tr><tr><td align="right" width="20"><font size="1"><img src="http://www.abcmusicos.com/images/sommaire/categories/icon_dot.gif" border="0" alt=""/> </font></td><td> <a href="http://www.abcmusicos.com/modules.php?name=Downloads&d_op=viewdownload&cid=3" target="_blank"><font class="boxcontent" color="#000000" size="1">  Tutoriales</font></a></td></tr><tr><td align="right" width="20"><font size="1"><img src="http://www.abcmusicos.com/images/sommaire/categories/icon_dot.gif" border="0" alt=""/> </font></td><td> <a href="http://www.abcmusicos.com/modules.php?name=Downloads&d_op=viewdownload&cid=4" target="_blank"><font class="boxcontent" color="#000000" size="1">  Otros</font></a></td></tr><tr><td align="right" width="20"><font size="1"><img src="http://www.abcmusicos.com/images/sommaire/categories/icon_dot.gif" border="0" alt=""/> </font></td><td> <a href="http://www.abcmusicos.com/modules.php?name=Web_Links"><font class="boxcontent" color="#000000" size="1">  Enlaces</font></a></td></tr></tbody></table></td></tr><tr bgcolor="#e6ebf4" height="4"><td><font size="1"></font></td></tr><tr><td><font size="1"><hr/></font></td></tr><tr height="4"><td><font size="1"></font></td></tr><tr><td><font size="1"><img src="http://www.abcmusicos.com/images/sommaire/icon_community.gif" border="0" alt=""/></font> <font class="storytitle"><strong>Usuarios</strong></font></td></tr><tr id="sommaire-4" name="sommaire-4"><td><table cellspacing="0" cellpadding="0" width="100%" border="0"><tbody><tr><td align="right" width="20"><img src="http://www.abcmusicos.com/images/sommaire/categories/icon_dot.gif" border="0" alt=""/> </td><td> <a href="http://www.abcmusicos.com/modules.php?name=Lista_Usuarios"><font class="boxcontent" color="#000000" size="1">  Lista de Usuarios</font></a></td></tr><tr><td align="right" width="20"><font size="1"><img src="http://www.abcmusicos.com/images/sommaire/categories/icon_dot.gif" border="0" alt=""/> </font></td>
etc...que si no me dice que el texto es demasiado largo :-)

4.- FORO y BLOQUES:
Si una de las secciones más visistas de tu portal es el foro, haría un cambio en la ubicacion del BLOQUE "Últimas Imagenes" ya que por cada carga de página en el foro, estas forzando que se realizen de nuevo las consultas relacionadas con estos bloques:

4.1. Bloque modulos activos: Personalizandolo ya te ahorras una consulta ESTÁ EN HTML, si creo que te refieres al menú principal
4.2. Bloque Usuarios POR AHORA LO PREFIERO A LA IZQUIERDA, pero miraré a ver si le afecta mucho a la carga
4.3. Bloque Últimas imagenes: Yo lo cambiaria de posicion y lo pondria a la derecha, con el fin de que no apareciera cuando se abren los foros COLOCADO A LA DERECHA

Otra posibilidad es que cuando se entre en los foros, no se muestren los bloques laterales

Recuerdo haberlo probado una vez, pero ahora no recuerdo desde dónde se modificaba esto

También otra posibilidad que te ofrece PHP-Nuke es la personalizacion de CABECERAS, ya que dependiendo del MODULO cargado puedes indicar de forma fácil que cargue una cabecera u otra

Perdona pero no se de qué me hablas. ya me dirás.

He realizado alguna de las modificaciones que me has comentado y las llamadas a la base de datos han descendido de 136 a 119 y el tiempo de carga en 2/3 segundos (aunque éste varia según le dé). Vamos mejorando

Gracias por tu ayuda. Espero tus respuestas.
__________________
  #18 (permalink)  
Antiguo 06/02/2008, 19:21
Avatar de popobcn
Moderador
 
Fecha de Ingreso: noviembre-2006
Ubicación: Cerdanyola del Vallès
Mensajes: 3.892
Antigüedad: 17 años, 5 meses
Puntos: 1142
Re: Consumo excesivo de recursos

Cita:
Iniciado por Apolo Ver Mensaje
Bien, parece que en algunas ocasiones revivir temas de casi 3 años atrás sí sirve y sí vale la pena.
Para ser sinceros... estaba buscando algún post sobre optimización de consultas mysql+php para páginas con un trafico muy alto de usuarios diarios .oO(2 millones o más) y me encontre con este tema y la verdad... No pude resistir contestar :) xD

Cita:
Iniciado por Jokin Ver Mensaje
2. UNIFICAR TOPS:

Ok, con lo de unificarlos todos...pero cómo se hace eso? he dicho que lo de PHP me cae algo lejos?
Jokin, el tema de la personalización de MODULOS en PHP-Nuke, no es excesivamente "complicado", dado que la gran mayoria de los modulos siguen una linea muy similar en la estructura de la programación.

La unificación de los modulos, o mejor dicho, crear un modulo PROPIO que muestre informaciones de diferentes TOPS internos o de bloques / modulos ya instalados, puede parecerte CHINO si no te has tirado a la piscina de editar codigo de modulos, pero una vez dentro del agua, te garantizo... (por experiencia propia por que comence precisamente con este tipo de portales) ... que no es nada complicado.

Te aconsejo que EDITES y le pegues un vistazo a cualquier modulo existente en tu portal y aproveches para ver la programación de cualquiera de los modulos de TOPS que tienes instalados en tu Nuke.

Si quieres, te puedo echar una mano en la personalizacion y creacion de un modulo que los unifique todos, pero para ello... tienes que dar tu el primer paso, ya que ahora no trabajo con Nuke y no se ni siquiera que bloques / modulos de tops tienes instalados concretamente, por lo que tendras que pegar UN PRIMER analisis de la programación para encontrar tanto la consulta empleada para extraer la información de la bbdd así como la parte que muestra la info .oO(Anda!!! andaaaaaaaaaaa!!!! que parece que te este poniendo deberes y to xD jajajajajajjajajaja :) )

Cita:
Iniciado por Jokin Ver Mensaje
3. BLOQUE MODULOS ACTIVOS:

No se si te refieres al bloque de la izquierda al que llamamos Menú Principal. Dicho bloque, en principio era un módulo que variaba en función de las secciones que teníamos pero lo cambié por puro HTML:
PERFECTO!!!!

Cita:
Iniciado por Jokin Ver Mensaje
Recuerdo haberlo probado una vez, pero ahora no recuerdo desde dónde se modificaba esto
Yo reconozco que soy un poco... RADIKAL en soluciones, pero para mi, esta es la mas mejor de todas a la hora de controlar la aparicion de bloques en determinadas secciones.

Todo depende de como este estructurado el theme que tienes actualmente en tu portal, ya que esta parte de Nuke es una de las que, aun siguiendo una misma estructuración, puede variar bastante de un theme a otro. OJO!!! Hablo de memoria, desconozco completametne la evolucion de que haya podido llegar a sufrir NUKE y aún más las cosas que hayan podido hacerle de base los señores de NukeET ;) asi que igual, me equivoco xD

Dentro de la ruta: /themes/nombredetutheme/ localiza el siguiente archivo: theme.php

Localiza la function THEMEHEADER y en la declaracion de variables globales mira si aparece una variable llamada "$name" si esta perfecto y en caso contrario, NO PASA NA!!! La colocas y listos :) Esta variable recoge el NOMBRE del modulo cargado .oO( modules.php?name=Forums por ejemplo ;) )

Ahora tan solo hemos de localizar la linea que hace que aparezca la columna de la izquierda, que si no recuerdo mal era algo tal que así: blocks(left);

Y ahora tan solo hemos de marcar una condicion para que se muestre o no ese bloque en la carga del modulo FORUMS de la siguiente manera:

Código PHP:
if($name!="Forums"){
   
blocks(left);

Y listos!!! Ya no aparece el bloque de menus de la izquierda cuando se cargue el FORO xD ;) Pero ojo, como ya te he comentado, igual esto ha cambiado un poco desde que yo trabajaba con Nuke. Has de pensar que yo deje de trabajar con el en la version 6.5 .oO( Haya por la edad de piedra amos xD )

Cita:
Iniciado por Jokin Ver Mensaje
También otra posibilidad que te ofrece PHP-Nuke es la personalizacion de CABECERAS, ya que dependiendo del MODULO cargado puedes indicar de forma fácil que cargue una cabecera u otra

Perdona pero no se de qué me hablas. ya me dirás.
Esta parte esta completamente relacionada con la del foro. Veras, dentro del archivo THEME.PHP hay diversas funciones que se encargan de cargar las partes que forman la página. Estas partes se dividen principalmente en 4 bloques definidos:

1.- Cabecera
2.- Bloques laterales
3.- Cuerpo / Noticias
4.- Pie

Dentro de la funcion themeheader, se hace una llamada a un fichero externo html o se puede llegar a encontrar la parte del código correspondiente a la cabecera directamente introducido en la funcion.

Este código o llamada al archivo externo, se puede controlar de la misma manera que te he comentado antes. O sea, añadiendo condiciones segun el valor de la variable NAME. Esto te puede servir, por ejemplo, para cargar una cabecera DIFERENTE para cada seccion que quieras personalizar... :)

Cita:
Iniciado por Jokin Ver Mensaje
He realizado alguna de las modificaciones que me has comentado y las llamadas a la base de datos han descendido de 136 a 119 y el tiempo de carga en 2/3 segundos (aunque éste varia según le dé). Vamos mejorando

Gracias por tu ayuda. Espero tus respuestas.
Bueno, me alegro que te haya servido de algo lo comentado... Pero la verdad, es que te animo a que TRASTEES y JUEGUES con el código de los modulos, la verdad es que NO es tan complicado como parece... Es tan solo darte tiempo y preguntar cuando tengas dudas :)

Saludos y animos!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:52.