Thứ Tư, 3 tháng 7, 2013

Symfony-Doctrine: free memory leak tips

  • Disable debug mode. Add following before db connection initialize

    sfConfig::set('sf_debug', false);
  • Set auto query object free attribute for db connection

    $connection->setAttribute(Doctrine_Core::ATTR_AUTO_FREE_QUERY_OBJECTS, true );
  • Free all object after use


        $object = createBigObject();
        $object->save();
        $object->free( true );
        unset($object); 
     
        $q = Doctrine_Query::create()
            ->from( 'User u' );
        $results = $q->fetchArray();
        $q->free(); 



  • Unset all arrays after use unset($array_name)
  • Cấu hình file databases.yml:
    all:
      doctrine:
        class: sfDoctrineDatabase
        param:
          dsn: 'mysql:host=localhost;dbname=.......'
          username: .....
          password: .....
          profiler: false
     Cấu hình file databases.yml:
     
     
     
    Nguồn: tổng hợp 

Không có nhận xét nào:

Đăng nhận xét