This question about Missing functionality: Closed unanswered

How to incorporate Memcached to Foswiki

Hi, we're currently running a Twiki based database application for our intranet, and it relies heavily on searches (7 or 8 searches per main topic displaying info from children topics) and the system is starting to slow down (~1500 topics so far).

We tried a DBcache approach but the problem was that the formatting options for DBquery are not as extensive as Search's so we can't replace every Search with DBqueryes and changing only some searches for DBquerys may help speed render tme, but the save topic time will suffer and it's not a 100% solution.

After the TWiki coup, we've decided to update to Foswiki because of support, but the bosses are a bit reluctant to have the system down and change a working albeit slow system if we don't at the same time improve what we already have.

ColasNahaboo FoswikiCache - Memcached seems to be the best solution, as we have way more RAM and CPU than we need but unfortunately there is no clear "How to" on how to install and implement this cache.

If you know how-to do this or any other solution that may work, or any other help would be great.

Thanks

-- HugodelaCerda - 14 Aug 2009

Hi Hugodela,

which formating options in SEARCH are you missing in DBQUERY? Foswiki-1.1 will come with a page cache that can use Memcached as a storage backend. While there is an unofficial backport to 1.0.6 there is still some refractoring work ahead.

There are two other options for you: VarCachePlugin and PublicCacheAddOn. The latter is a full page cache solution by ColasNahaboo. Hm, the latter doesn't seem to be published for foswiki.

-- MichaelDaum - 15 Aug 2009

Hi Michael, thanks for replying. I believe DBQuery didn't/couldn't perform nested searches as well as include complex formatting with spreadsheet+tooltip plugins in the formatting.

One search formatting I coudn't recreate was:

%SEARCH{"Studio ='A'" type="query" nonoise="on" nototal="on" order="formfield(HRin)" format="$n   * $percntCALC{$FORMATTIME($TIME($formfield(RecordDateFrom)), $day $mon $year) - $FORMATTIME($TIME($formfield(RecordDateTo)), $day $mon $year) - $nop%STUDIO$formfield(Studio)$nop% $formfield(HRin) - $formfield(HRout) <BR> [[$web.$topic][$formfield(FoleyWalla)]] - $NOP(%)TOOLTIP{TEXT=\"<table width=300 border=0 cellspacing=2 cellpadding=2>  <td><b>Engineer</b></td><td colspan=5> $formfield(Engineer)</td></tr> <tr><td><b>Studio</b></td><td colspan=5> $formfield(Studio)</td></tr> <tr><td><b>Date Start</b></td><td colspan=5> $formfield(RecordDateFrom)</td></tr> <tr><td><b>Date End</b></td><td colspan=5> $formfield(RecordDateTo)</td></tr> <tr><td><b>Hour Start</b></td><td colspan=5> $formfield(HRin)</td></tr> <tr><td><b>Hour End</b></td><td colspan=5> $formfield(HRout)</td></tr></table>\" TITLE=\"[[$topic][$formfield(OutOfHouse)$formfield(TvSeries)$formfield(MovieName)-$formfield(FoleyWalla)]]\"  BORDERCOLOR=\"#5080FF\" STICKY=\"true\" WIDTH=\"300\" ABOVE=\"true\"}$NOP(%) *info* $NOP(%)TOOLTIP{END}$NOP(%)}$percnt"}%
Which would create events for our calendar formatted like:

  • 25 Aug 2009 - 25 Aug 2009 - %STUDIOA% 09:00 am - 05:00 pm
[[SomeTopic00021][Walla]] - %TOOLTIP{TEXT="
Engineer Someone
Studio A
Date Start 25-Aug-09
Date End 25-Aug-09
Hour Start 09:00 am
Hour End 05:00 pm
"TITLE="[[SomeTopic00021][Some TV Program Ep#104-Walla]] " BORDERCOLOR="#5080FF" STICKY="true" WIDTH="300" ABOVE="true"}% info %TOOLTIP{END}%

As for the last part of your post, TWikiCache is the one I was referring to, and the one we would benefit from the most.

Hugo

Closing this ticket due to inactivity. Please re-open it, if necessary.

-- OliverKrueger - 09 Oct 2009

QuestionForm edit

Subject Missing functionality
Extension
Version TWikiRelease04x03x00
Status Closed unanswered
Topic revision: r5 - 09 Oct 2009, OliverKrueger - This page was cached on 12 Nov 2018 - 19:24.

The copyright of the content on this website is held by the contributing authors, except where stated elsewhere. See Copyright Statement. Creative Commons License    Legal Imprint    Privacy Policy