Hi, Finally I managed to find it out that it was memory problem and I didn't know before that Freemarker uses soft-references cache inside by default, so parsed templates were cleared out and then parsed way too often. Traffic is increasing very fast in a webshop like ours as Christmas is coming so a few days ago it reached a problematic level.
Regards, Tamás On Tue, Nov 5, 2019 at 10:56 AM Siegfried Goeschl < [email protected]> wrote: > Hi Tamas, > > I’m a Freemarker rookie but looking after performance problems is my daily > business :-) > > IMHO the key question is - what has suddenly changed? > > * New deployment? > * Changes to templates? > * Robots killing your website? > * Changed usage pattern of your website due client software release? > > Thanks in advance, > > Siegfried Goeschl > > > On 4 Nov 2019, at 23:00, Tamás Barta <[email protected]> wrote: > > > > Hi, > > > > Could you please help me. I use Freemarker templates for a web site for > > about 6 month and so far so good. Unfortunately since last week I have > > serious performance problems. I couldn't find out what is going on, but > > from thread dump I saw that almost every threads look like this: > > > > at > freemarker.core.FMParserTokenManager.jjMoveNfa_0(FMParserTokenManager.java:636) > > at > freemarker.core.FMParserTokenManager.jjMoveStringLiteralDfa0_0(FMParserTokenManager.java:530) > > at > freemarker.core.FMParserTokenManager.getNextToken(FMParserTokenManager.java:8008) > > at freemarker.core.FMParser.jj_ntk_f(FMParser.java:5676) > > at > freemarker.core.FMParser.MixedContentElements(FMParser.java:3694) > > at > freemarker.core.FMParser.UnifiedMacroTransform(FMParser.java:2872) > > at freemarker.core.FMParser.FreemarkerDirective(FMParser.java:3457) > > at > freemarker.core.FMParser.MixedContentElements(FMParser.java:3812) > > at freemarker.core.FMParser.Root(FMParser.java:4458) > > at freemarker.template.Template.(Template.java:253) > > at > freemarker.cache.TemplateCache.loadTemplate(TemplateCache.java:549) > > at > freemarker.cache.TemplateCache.getTemplateInternal(TemplateCache.java:439) > > at > freemarker.cache.TemplateCache.getTemplate(TemplateCache.java:292) > > at > freemarker.template.Configuration.getTemplate(Configuration.java:2750) > > at > freemarker.template.Configuration.getTemplate(Configuration.java:2599) > > > > > > or > > > > > > at > freemarker.core.FMParserTokenManager.jjMoveNfa_0(FMParserTokenManager.java:634) > > at > freemarker.core.FMParserTokenManager.jjMoveStringLiteralDfa0_0(FMParserTokenManager.java:530) > > at > freemarker.core.FMParserTokenManager.getNextToken(FMParserTokenManager.java:8008) > > at freemarker.core.FMParser.jj_ntk_f(FMParser.java:5676) > > at freemarker.core.FMParser.PCData(FMParser.java:3604) > > at > freemarker.core.FMParser.MixedContentElements(FMParser.java:3756) > > at freemarker.core.FMParser.If(FMParser.java:1689) > > at freemarker.core.FMParser.FreemarkerDirective(FMParser.java:3422) > > at > freemarker.core.FMParser.MixedContentElements(FMParser.java:3812) > > at freemarker.core.FMParser.If(FMParser.java:1663) > > at freemarker.core.FMParser.FreemarkerDirective(FMParser.java:3422) > > at > freemarker.core.FMParser.MixedContentElements(FMParser.java:3812) > > at freemarker.core.FMParser.If(FMParser.java:1663) > > at freemarker.core.FMParser.FreemarkerDirective(FMParser.java:3422) > > at > freemarker.core.FMParser.MixedContentElements(FMParser.java:3812) > > at freemarker.core.FMParser.Root(FMParser.java:4458) > > at freemarker.template.Template.(Template.java:253) > > at > freemarker.cache.TemplateCache.loadTemplate(TemplateCache.java:549) > > at > freemarker.cache.TemplateCache.getTemplateInternal(TemplateCache.java:439) > > at > freemarker.cache.TemplateCache.getTemplate(TemplateCache.java:292) > > at > freemarker.template.Configuration.getTemplate(Configuration.java:2750) > > > > at > freemarker.template.Configuration.getTemplate(Configuration.java:2599) > > > > > > Do you have any ideas where to find the problem? I use Freemarker 2.3.28. > > > > > > Thanks, Tamás > >
