Avatar billede axkris Nybegynder
26. november 2003 - 22:57 Der er 1 kommentar og
2 løsninger

Webserver går ned, "Memory Leaks"

Hej

Jeg har en hjemmeside, som dagligt besøges af omkring 1500 mennesker, og nu er min hjemmeside begyndt at "vælte serveren". Min web-udbyder siger, at jeg konverere fra access til mysql, hvilket jeg også er i gang med, men så skal jeg også undgå at lave "Memory Leaks".

Da jeg ikke er helt klar over, hvordan disse "Memory Leaks" opstår, vil jeg gerne høre jeres mening.

Jeg har altid lukket mine db-connections efter brug, men jeg har ikke altid lukket mine recordsets efter brug - kan det være med til at skabe "Memory Leaks"? Eller ligger problemet et andet sted?
Avatar billede bufferzone Praktikant
27. november 2003 - 09:32 #1
Memory Leaks beskrives således

When any program begins running, it uses up some space in the "system resources" area in memory. But, as you exit, some programs do not give back system resources they were temporarily using. Eventually the system will crash as it runs out of memory. The crash happens sometimes if you start and close many programs, even the same ones, without a periodic reboot. This is what Microsoft calls a resource leak or memory leak.

Normalt forstår jeg Memory Leaks son noget programmer laver, hvis de er dårligt programmerede. Jeg vil tro at han taler om at du skal afslutte dine connections ordentligt, som du jo selv er inde på.
Avatar billede axkris Nybegynder
27. november 2003 - 10:59 #2
Som jeg også skriver: "Jeg har altid lukket mine db-connections efter brug, men jeg har ikke altid lukket mine recordsets efter brug..." Spiller det nogen rolle at jeg ikke lukker mine recordsets?
Avatar billede terry Ekspert
30. november 2003 - 12:15 #3
Normally, or at least in VB/VBA a recordset will get closed when it goes out of scope. This mean that if you open a recordset in a functionthen as soon as you exit the function it should get closed and the memory freed. Even so it is ALWAYS a good idea to close your connections and code after use, it makes good programming.
What puzzles me is you say you close your connection but NOT your recordset. Well normally you would close things in the reverse order as to what you opened them in. So you would first close your recordset (which is using the connection) and then close the connection.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester