Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => PHP => Mensaje iniciado por: Diabliyo en 9 Febrero 2012, 15:55 PM

Título: [MySQL] Optimizar Conexiones mediante PHP ?
Publicado por: Diabliyo en 9 Febrero 2012, 15:55 PM
Buen dia.

Traigo entre manos la duda de: Que es mas optimo ?: realizar una conexion a mysql por cada consulta o bien realizar una unica conexion y guardarla en sesion y utilizarla todo el tiempo ?

Cuando menciono de realizar una conexion a mysql por cada consultar me refiero a tener una funcion mas o menos asi:

function consultar($query)
          {
          $link= conectar_mysql();
          $consulta= mysql_query($query);
          mysql_close($link);
          return $consulta;
          }


O bien tener una unica conexion a la base de datos en sesion, algo asi:

if( !$_SESSION["dblink"] )
          $_SESSION["dblink"]= conectar_mysql();


Cual es mas optima ?, porque estoy empezando a recibir muchas visitas en mi sitio y esto me esta matando :(

Saludos !
Título: Re: [MySQL] Optimizar Conexiones mediante PHP ?
Publicado por: el-brujo en 9 Febrero 2012, 18:30 PM
CitarQue es mas optimo ?: realizar una conexion a mysql por cada consulta o bien realizar una unica conexion y guardarla en sesion y utilizarla todo el tiempo ?

Suele ser más óptimo lo segundo, pero también consume más recursos.

Se llama "persistent connection"

http://es.php.net/mysql_pconnect

mysql.allow_persistent

Citarporque estoy empezando a recibir muchas visitas en mi sitio y esto me esta matando

De todas maneras usando pmysql no vas a notar nada. Te recomiendo usar un cacheador de scripts php, tipo APC.

APC (Alternative PHP Cache)
http://pecl.php.net/package/APC

Optimizar LAMP
http://foro.elhacker.net/gnulinux/optimizar_lamp-t341795.0.html

Herramientas para Optimizar MySQL
http://foro.elhacker.net/tutoriales_documentacion/herramientas_para_optimizar_mysql-t214396.0.html
Título: Re: [MySQL] Optimizar Conexiones mediante PHP ?
Publicado por: дٳŦ٭ en 11 Febrero 2012, 00:26 AM
Yo te recomendaría la persistente o eAccelerator o ambas, es cuestión de hacer pruebas de estrés y ahí te darás cuenta. Saludos