Optimizando el uso de modelos en kumbiaPHP

En la configuración (app/config/config.ini) por default en kumbiaPHP los modelos se cargan automáticamente

models_autoload = On

Si estamos desarrollando una aplicación para producción entonces es importarte configurar los modelos para que no se carguen automáticamente esto nos puede ahorrar hasta mas del 50% en el uso de la memoria (se probo solo carga de modelos mas no de lógica), en mi caso hice una prueba con alrededor de 10 tablas y con models_autoload = On consumía 3.5 MB de memoria después de cambiar esta configuración a off el consumo fue de 1.5 MB.

¿Por que es importante hace esta configuración desde el inicio?

  • Si se configura al iniciar el proyecto esto nos obligara a cargar solo los modelos que necesitemos en nuestro controlador, pero si lo dejamos para después les aseguro que les causara un dolor de cabeza ya que es probable que no recuerden que modelos utilizan y no habrá de otra que probar y probar la aplicación para ver que todo funcione correctamente.

¿Como cargar los modelos?

  • los modelos se cargan con Load::model(“nombreDelModelo”);

¿Donde es mejor cargarlos?

  • Si nuestro modelo se usara en la mayoría o en todas las acciones de nuestro controlador lo mas recomendable es cargarlo en el metodo public function before_filter(){} .

    	public function before_filter(){
    		Load::model("clientes");
    		$this->clientes = new clientes();
    	}
    

  • Si es un modelo que es usado solo por uno o dos acciones y/o no es muy común el uso de estas entonces les recomiendo cargarlas en cada acción ya que esto evitara peticiones innecesarias a la base de datos.

Leave a Reply

Your email address will not be published. Required fields are marked *