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
>
>

Reply via email to