Foros del Web » Programando para Internet » PHP »

max_connections y mysql_close()

Estas en el tema de max_connections y mysql_close() en el foro de PHP en Foros del Web. Es posible solucionar el problema de max_connections usando mysql_close() ?. Acabo de encontrar este problema en mi sitio: Google se encontró con este problema (PC ...
  #1 (permalink)  
Antiguo 17/02/2005, 07:15
Avatar de Terminator ®  
Fecha de Ingreso: julio-2004
Ubicación: San Isidro, Buenos Aires
Mensajes: 176
Antigüedad: 19 años, 8 meses
Puntos: 0
Exclamación max_connections y mysql_close()

Es posible solucionar el problema de max_connections usando mysql_close() ?.
Acabo de encontrar este problema en mi sitio:
Google se encontró con este problema (PC Impacto es mi sitio y esa descarga existe).

Como pueden observar, los que me ofrecen hosting limitaron el max_connections a 15 (es poco?) y por lo visto el robot de Google se encontró con este problema.

He visto que no hace falta utilizar mysql_close() porque la conexión se cierra cuando se cierra el script... pero que pasa si hay gente que se queda varios minutos en determinada descarga de mi sitio... no es conveniente utilizar la función mysql_close(). Lo que yo pienso (no sé si es correcto) es que si la cierro mediante mysql_close(), una vez que la página haya sido descargada dejaría de utilizar ese slot y quedaría disponible sin necesidad de cerrar el script.
Si no hay diferencias... yo creo que a medida que el sitio vaya incrementando las visitas este problema me va a aparecer mas seguido...

En algunos páginas tengo más de un "mysql_connect()"... poniendo un solo "mysql_close()" al final alcanzaría?

Gracias por su tiempo.
__________________
PC Impacto
  #2 (permalink)  
Antiguo 17/02/2005, 07:22
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
PHP funciona de la siguiente forma:

Tu piedes la ejecución de un script .. este conecta a tus BD .. etc, cuando termina la ejecución del script aunque tu no cierres las conexiones (abiertas con mysql_connect() .. no persistentes) las cierra. El resultado de tu lógica . .de tus accesos a tu BD .. etc se entrega al cliente (al navegador = usuario) .. pero PHP ya terminó la ejecución y liberó ese recuros de tu BD (conexión) pese que el usuario en el "cliente" esté un día si quiere leyendo tu página generada.

Con respecto a una descarga, si, .. PHP no libera el control del script hasta que termine .. eso inlcuye la descarga del archivo por ejemplo o proceso "largo" en ese script, así que es ideal que hagas tu mysql_close() y antes un mysql_free_result() en cuanto obtengas el dato (tal vez nombre del archivo? .. o el archivo en sí binario) para ofrecerlo a descargar a continuación (si es que trabajas generando cabeceras HTTP y demás ..)


Un saludo,
  #3 (permalink)  
Antiguo 17/02/2005, 07:34
Avatar de Terminator ®  
Fecha de Ingreso: julio-2004
Ubicación: San Isidro, Buenos Aires
Mensajes: 176
Antigüedad: 19 años, 8 meses
Puntos: 0
Muchas gracias...
Entonces digamos que el problema es que 15 es poco... por lo menos para el robot de google... a medida que agregue más programas este problemita puede ir creciendo.
__________________
PC Impacto
  #4 (permalink)  
Antiguo 17/02/2005, 08:36
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 9 meses
Puntos: 16
Hola,

Una solucion seria cachear la salida de tu web. En lugar de generar tu pagina en cada peticion desde la base de datos, crear ficheros de texto de cache. Puedes hacer que la duracion de los ficheros sea de 30 minutos. Es decir, una peticion cada media hora genera un fichero con la salida de tu pagina, el resto de peticiones les devuelves el contenido de ese fichero. Asi ahorras conexiones a la base de datos.

Muchos sistemas de plantillas tienen implementado un sistema de cache (noktemplate, por ejemplo). En pear.php.net seguro que hay alguna clase de cache. Ahora mismo no tengo a mano articulos sobre ello, quizas en devarticles o devshed encuentres algo.

saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 17/02/2005, 08:46
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
En www.zonaphp.com están los artículos sobre NokTemplates y algo de uso de Smarty (www.php.net/smarty) .. Ambos motores de "plantillas" usan sistemas de caché ..

Un saludo,
  #6 (permalink)  
Antiguo 17/02/2005, 10:01
Avatar de Terminator ®  
Fecha de Ingreso: julio-2004
Ubicación: San Isidro, Buenos Aires
Mensajes: 176
Antigüedad: 19 años, 8 meses
Puntos: 0
Gracias muchachos!
Me voy a poner a investigar el tema...
Porque hace 30 minutos retiré todo el contenido de Mercado Libre (se mostraban ofertas por medio de XML en todas las páginas), ya que la transferencia de ML a mi hosting a veces era lenta o nula y perjudicaba todo...
Con esto del caché de página posiblemente solucione estos dos problemitas... es interesante.

Gracias!!
__________________
PC Impacto
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 13:01.