Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] ¿Como cerrar una conexión persistente al cerrar la página?

Estas en el tema de ¿Como cerrar una conexión persistente al cerrar la página? en el foro de PHP en Foros del Web. He leído que las conexiones persistentes dan un mayor rendimiento que las normales pero dicen que hay que cerrarlas y aun habiendo ejecutado el script ...
  #1 (permalink)  
Antiguo 17/03/2013, 17:33
 
Fecha de Ingreso: septiembre-2012
Mensajes: 51
Antigüedad: 11 años, 7 meses
Puntos: 0
¿Como cerrar una conexión persistente al cerrar la página?

He leído que las conexiones persistentes dan un mayor rendimiento que las normales pero dicen que hay que cerrarlas y aun habiendo ejecutado el script no se cierra(para cerrar la conexión tendría que cerrarla al final del script), pero si el usuario quiere visitar otra página y esa página necesita conectarse a MySQL tendría que volver a abrir la conexión, lo que supondría un coste de RAM y puede que de CPU
¿Cómo puedo asegurarme que se cierra la conexión persistente a la base de datos cuando el usuario cierra la pestaña o cierra el navegador?¿Es conveniente usar conexiones persistente en una web que hace muchas consultas a MySQL?
Gracias.
  #2 (permalink)  
Antiguo 17/03/2013, 17:37
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: ¿Como cerrar una conexión persistente al cerrar la página?

¿que sentido tiene usar conexiones persistentes si las vas a cerrar/abrir cada vez que hagas una petición http?: no sería persistente

lo ideal es que la conexión persistente nunca cierre, sólo debes asegurarte de usar el resorce_id en cada solicitud, además de que dicha librería es obsoleta, yo usaría PDO o MySQLi
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 17/03/2013, 17:50
 
Fecha de Ingreso: septiembre-2012
Mensajes: 51
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: ¿Como cerrar una conexión persistente al cerrar la página?

Gracias antes de nada maycolalvarez. No se si te he entendido bien pero lo que creo que he entendido es que la conexión persistente las tengo que crear una vez(compruebo si la conexión esta creada al inicio de cada script y si no lo está la creo).Pero...¿se cierra la conexión sola al cabo de un tiempo o debo de realizar alguna acción para que cuando el usuario no esté online(se salga de mi página) se cierre?Lo digo porque a lo mejor la conexión se queda ahí muerta pero consumiendo memoria.
Si, estoy utilizando MySQLi para esto.La anterior dicen que la han deprecado...y no me ha quedado otra que pasarme a MySQLi.
  #4 (permalink)  
Antiguo 17/03/2013, 21:13
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: ¿Como cerrar una conexión persistente al cerrar la página?

Antes de pensar si quiera en usar conexiones persistentes debes prever cuantos usuarios van a estar conectados a la base de datos al mismo tiempo, si el numero de usuarios es mayor al numero máximo de conexiones permitidas te dará dolor de cabeza, las conexiones persistentes solo se usan en ámbitos especiales donde realmente se les saca partido...
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #5 (permalink)  
Antiguo 18/03/2013, 11:39
 
Fecha de Ingreso: septiembre-2012
Mensajes: 51
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: ¿Como cerrar una conexión persistente al cerrar la página?

La verdad es que si que voy a necesitar las conexiones persistentes porque al hacer la página peticiones AJAX cuando el usuario quiere enviar un mensaje por email y registrar ese mail en la base de datos(o más de uno, que es el problema que pienso que solucionan las conexiones persistentes: no tengo que crear la conexión y destruirla cada dos por tres).
La cantidad de usuarios ahora no me preocupa(es solo el hecho en sí de usar las conexiones persistentes), simplemente planteo el problema en un ámbito en el que se busca menor consumo y mejor rendimiento...
¿Se podría cerrar la conexión al lanzar un evento unload de jQuery que haga una petición AJAX al script que cerraría la conexión persistente? Es que no se si se ejecutaría o se quedaría a medio y no se cerraría la conexión.
Siento molestar con esta pregunta que a lo mejor es muy evidente, pero como es algo que no se puede comprobar si se ha cerrado porque lance un mensaje o lo diga en alguna parte las conexiones abiertas a MySQL...entonces por eso no se si de verdad funciona o no lo que os digo del unload.

Etiquetas: mysql+php
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 14:18.