|  | 		    
					
        
         
          
         
	
          | |  | Memory leak dbx_fetch_row Fra : Leif Neland
 | 
 Dato :  26-02-09 15:56
 | 
 |  | PHP Version 5.2.0-8+etch13 (Debian)
 
 memory_get_usage() vokser med omkring 200 bytes pr loop, afhængig af
 recordsize; den falder dog også engang imellem.
 
 Hvor bliver de bytes af, og kan jeg gøre noget?
 unset($r) gør ingen forskel.
 
 $_db_handle = dbx_connect(DBX_MSSQL,....,DBX_PERSISTENT);
 $q = dbx_query($_db_handle,$query,DBX_RESULT_UNBUFFERED) or die
 ("SQL_error");
 
 while($r = dbx_fetch_row($q)) {
 echo memory_get_usage();
 echo "<br>";
 flush();
 unset ($r);
 };
 
 Leif
 
 
 
 
 |  |  | 
  Martin (26-02-2009) 
 
	
          | |  | Kommentar Fra : Martin
 | 
 Dato :  26-02-09 17:43
 | 
 |  | Leif Neland wrote:
 > PHP Version 5.2.0-8+etch13 (Debian)
 >
 > memory_get_usage() vokser med omkring 200 bytes pr loop, afhængig af
 > recordsize; den falder dog også engang imellem.
 >
 > Hvor bliver de bytes af, og kan jeg gøre noget?
 > unset($r) gør ingen forskel.
 >
 > $_db_handle = dbx_connect(DBX_MSSQL,....,DBX_PERSISTENT);
 
 Prøv at lade vær med at have en vedvarende link til databasen, og se om
 det skulle hjælpe?
 
 > $q = dbx_query($_db_handle,$query,DBX_RESULT_UNBUFFERED) or die
 > ("SQL_error");
 >
 > while($r = dbx_fetch_row($q)) {
 >     echo memory_get_usage();
 >     echo "<br>";
 >     flush();
 >     unset ($r);
 > };
 >
 > Leif
 >
 >
 
 
 |  |  | 
  Leif Neland (26-02-2009) 
 
	
          | |  | Kommentar Fra : Leif Neland
 | 
 Dato :  26-02-09 22:41
 | 
 |  | Martin skrev:
 > Leif Neland wrote:
 >> PHP Version 5.2.0-8+etch13 (Debian)
 >>
 >> memory_get_usage() vokser med omkring 200 bytes pr loop, afhængig af
 >> recordsize; den falder dog også engang imellem.
 >>
 >> Hvor bliver de bytes af, og kan jeg gøre noget?
 >> unset($r) gør ingen forskel.
 >>
 >> $_db_handle = dbx_connect(DBX_MSSQL,....,DBX_PERSISTENT);
 >
 > Prøv at lade vær med at have en vedvarende link til databasen, og se om
 > det skulle hjælpe?
 >
 Ingen forskel.
 
 Leif
 
 
 |  |  | 
   Martin (26-02-2009) 
 
	
          | |  | Kommentar Fra : Martin
 | 
 Dato :  26-02-09 23:54
 | 
 |  | Leif Neland wrote:
 > Martin skrev:
 >> Leif Neland wrote:
 >>> PHP Version 5.2.0-8+etch13 (Debian)
 >>>
 >>> memory_get_usage() vokser med omkring 200 bytes pr loop, afhængig af
 >>> recordsize; den falder dog også engang imellem.
 >>>
 >>> Hvor bliver de bytes af, og kan jeg gøre noget?
 >>> unset($r) gør ingen forskel.
 >>>
 >>> $_db_handle = dbx_connect(DBX_MSSQL,....,DBX_PERSISTENT);
 >>
 >> Prøv at lade vær med at have en vedvarende link til databasen, og se
 >> om det skulle hjælpe?
 >>
 > Ingen forskel.
 
 Æv bæv..
 Er der noget caching på serveren APC eller lign?
 og hvad med caching i databasen?
 
 Jeg synes ihvertfald det ligner noget caching af en eller anden art.
 Nu kender jeg ikke så godt til MSSQL, men ved at i MySQL er der noget
 internt cache, så "mest brugte" queries bliver gemt i rammen.
 (denne option er på normalt på 2mb i MySQL)
 
 
 |  |  | 
 |  |