Ver Mensaje Individual
  #9 (permalink)  
Antiguo 10/07/2014, 15:20
Avatar de verinchi
verinchi
 
Fecha de Ingreso: septiembre-2004
Ubicación: Buenos Aires
Mensajes: 647
Antigüedad: 20 años, 2 meses
Puntos: 2
Respuesta: agilizar listados mediante buffer

Hola, después de darle muchas vueltas pude optimizar un poco los tiempos de respuesta con lo siguiente:

Código PHP:
 $em->getConnection()->getConfiguration()->setSQLLogger(null); 
Con esto lo que hago es inhabilitar el logger por defecto, quitando carga de procesamiento. Lo que hay que tener en cuenta es que con esto, si queremos ver la consulta que va a la base de datos, no podremos mediante la consulta del profiler ya que no la logueará.

Código PHP:
$em->clear(); 
Antes de realizar el return, libero el entity manager

Código PHP:
ini_set('implicit_flush',1);
        
ini_set("memory_limit""1024M");
        
ini_set('max_execution_time'120); 
Esto lo coloco antes de cualquier instrucción de cada función para activar el flush implícito, aumentar la memoria y el tiempo de ejecución.

Con esto, evité en mi caso la mayoría de los overflows y timeouts. Luego coloqué algunas restricciones en las búsquedas, como ser que no se pueda consultar para más de un año (12 meses) la información, para limitar un poco la cantidad de registros a listar cada vez.

Espero que a alguien le sirva, saludos!
__________________
Why can't we not be sober?
www.partitorium.com.ar