/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
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)

Søg
Reklame
Statistik
Spørgsmål : 177580
Tips : 31968
Nyheder : 719565
Indlæg : 6409079
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste