Hi,

I would love to do that but unfortunately that's impossible. The guy who 
designed the database layout all those years ago came up with the idiotic idea 
of using unique OIDs (strings essentially) instead of IDs in every table...and 
those OIDs have to be generated by some weird class offered only by the 
framework the application has been constructed with. Moving data about would be 
way better with INSERT INTO ... SELECT ... or something, but sadly that's out 
of the question.

Greetings,
Till Helge

-----Ursprüngliche Nachricht-----
Von: Russ Michaels [mailto:r...@michaels.me.uk] 
Gesendet: Mittwoch, 30. Januar 2013 11:31
An: cf-talk
Betreff: Re: Severe memory issue


Have you tried moving this job off to th db server and taking cf out of the 
loop.
Use stored procs etc.

Regards
Russ Michaels
www.michaels.me.uk
www.cfmldeveloper.com - Free CFML hosting for developers www.cfsearch.com - CF 
search engine On Jan 30, 2013 10:27 AM, "Helwig, Till Helge" 
<till.hel...@saxsys.de>
wrote:

>
> Hi,
>
> I'm working on a very old and very badly coded CF application at the 
> moment. It contains servertasks that do a lot of batch processing 
> where huge data sets are queried from a database, processed and the 
> results written back to the DB. Unfortunately by now the jobs have 
> become so large that we frequently get heap space errors. I'm trying 
> to figure out why the process takes up so much memory and I've reached 
> a point where I just don't know what to look for anymore. When looking 
> at the memory monitor it looks to me like in every loop iteration he 
> accumulated about 100 MB of data, procceses it and throws it away, but 
> not entirely. A small piece stays in the memory every time and in the end it 
> clutters up all the heap space.
>
> What I already did:
>
> -          Adding "var" to local variables
>
> -          Replacing literals in queries with cfqueryparams
>
> -          Replacing StructNew() at the beginning of loops with
> StructClear()
>
> -          Replacing query-loops with index-loops
>
> I also started looking at dumps of the Java heap shortly before the 
> process crashes, but I'm not really getting any wiser from that. I see 
> that there are millions of objects in the memory and many of them are 
> LoopTags and QueryTags, but other than that I have no idea what to make of it.
>
> I've read that placing the code of the loop within its own thread 
> might help, but that's impossible because our task already runs in its 
> own thread and apparently CF can't spawn threads from within threads.
>
> If you have any ideas for me where to look for memory leaks, what else 
> to try or an explanation for what might cause the problem, I would be 
> really really thankful!
>
> Greetings,
> Till Helge
>
>
> 



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Order the Adobe Coldfusion Anthology now!
http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion
Archive: 
http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:354117
Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm
Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm

Reply via email to