[pmwiki-users] speeding up pages and pagelists

Frank Graffagnino frank.graffagnino at metecs.com
Thu Jan 5 14:52:01 CST 2012


well, i can say that it had one begin/merge/end under wiki.d, and one
begin/merge/end under wikilib.d, for each item in the list (so 6 printouts
for each item in each list).

However, I implemented all the fixes you suggested above, and virtually all
of those PageStore::ls calls went away.  Now, that same page I send before
(although it was shortened) now looks like this:

0: 00.00 MarkupToHTML begin
1: 00.04 FPLTemplate: Chain begin
2: 00.04 FPLTemplate: FPLTemplateLoad
3: 00.04 FPLTemplate: FPLTemplateDefaults
4: 00.04 FPLTemplate: FPLTemplatePageList
5: 00.04 MakePageList pre
6: 00.04 PageListCache begin load key=1783098ec26df5f43fd5bcac95c061aa
7: 00.04 PageListCache end load
8: 00.04 PageListSources begin
9: 00.04 PageListSources end count=10
10: 00.04 PageListSort pre ret=6 order=-MemoryBandwidth
11: 00.04 MakePageList items count=10, filters=PageListSort
12: 00.05 MakePageList post count=10, readc=10
13: 00.05 PageListSort begin
14: 00.05 PageListSort sort
15: 00.07 PageListSort end
16: 00.07 MakePageList end
17: 00.07 FPLTemplate: FPLTemplateSliceList
18: 00.07 FPLTemplate: FPLTemplateFormat
19: 00.08 MarkupToHTML begin
20: 00.34 MarkupToHTML end
21: 00.34 FPLTemplate: Chain end
22: 00.36 FPLTemplate: Chain begin
23: 00.36 FPLTemplate: FPLTemplateLoad
24: 00.36 FPLTemplate: FPLTemplateDefaults
25: 00.36 FPLTemplate: FPLTemplatePageList
26: 00.36 MakePageList pre
27: 00.36 PageListCache begin load key=729968a4400968ea344e325d72bb64a6
28: 00.36 PageListCache end load
29: 00.36 PageListSources begin
30: 00.36 PageListSources end count=21
31: 00.36 PageListSort pre ret=6 order=-blpf
32: 00.36 MakePageList items count=21, filters=PageListSort
33: 00.37 MakePageList post count=21, readc=21
34: 00.37 PageListSort begin
35: 00.37 PageListSort sort
36: 00.50 PageListSort end
37: 00.50 MakePageList end
38: 00.50 FPLTemplate: FPLTemplateSliceList
39: 00.50 FPLTemplate: FPLTemplateFormat
40: 00.53 MarkupToHTML begin
41: 01.46 MarkupToHTML end
42: 01.46 FPLTemplate: Chain end
43: 01.46 FPLTemplate: Chain begin
44: 01.46 FPLTemplate: FPLTemplateLoad
45: 01.47 FPLTemplate: FPLTemplateDefaults
46: 01.47 FPLTemplate: FPLTemplatePageList
47: 01.47 MakePageList pre
48: 01.47 PageListCache begin load key=4f226cae0703642f71bbc1f4b24f50a0
49: 01.47 PageListCache end load
50: 01.47 PageListSources begin
51: 01.47 PageListSources end count=19
52: 01.47 PageListSort pre ret=6 order=-blpf
53: 01.47 MakePageList items count=19, filters=PageListSort
54: 01.48 MakePageList post count=19, readc=19
55: 01.48 PageListSort begin
56: 01.48 PageListSort sort
57: 01.52 PageListSort end
58: 01.52 MakePageList end
59: 01.52 FPLTemplate: FPLTemplateSliceList
60: 01.52 FPLTemplate: FPLTemplateFormat
61: 01.53 MarkupToHTML begin
62: 02.01 MarkupToHTML end
63: 02.01 FPLTemplate: Chain end
64: 02.02 FPLTemplate: Chain begin
65: 02.02 FPLTemplate: FPLTemplateLoad
66: 02.02 FPLTemplate: FPLTemplateDefaults
67: 02.02 FPLTemplate: FPLTemplatePageList
68: 02.02 MakePageList pre
69: 02.02 PageListCache begin load key=d093679bf99dbfd97c5f8b6ad7c13667
70: 02.02 PageListCache end load
71: 02.02 PageListSources begin
72: 02.02 PageListSources end count=21
73: 02.02 PageListSort pre ret=6 order=-blpf
74: 02.02 MakePageList items count=21, filters=PageListSort
75: 02.03 MakePageList post count=21, readc=21
76: 02.03 PageListSort begin
77: 02.03 PageListSort sort
78: 02.08 PageListSort end
79: 02.08 MakePageList end
80: 02.08 FPLTemplate: FPLTemplateSliceList
81: 02.08 FPLTemplate: FPLTemplateFormat
82: 02.10 MarkupToHTML begin
83: 02.63 MarkupToHTML end
84: 02.63 FPLTemplate: Chain end
85: 02.64 MarkupToHTML end
86: 02.65 MarkupToHTML begin
87: 02.81 MarkupToHTML end
88: 02.81 MarkupToHTML begin
89: 02.84 MarkupToHTML end
90: 02.86 now


That's not very fast, but not bad for a page with 4 pagelists on it, given
what I now know about the expense of pagelists. Another change I made was
moving the $WorkDir to a directory local to the machine (and not NFS
mounted). That may have helped speed up pages also, pagelists or not. Not
sure. All in all, your advice got me a significant improvement in speed.
I'm happy for now, but if we wanted to optimize further, it looks like most
of my page time is all in the "MarkupToHTML" calls, as this seems to be
where almost all the big chunks of time is spent.

Thanks so much for the help! If you have any ideas to get the time further
reduced, let me know, but I'm mostly satisfied at this point.

FG

FG


On Thu, Jan 5, 2012 at 2:34 PM, Patrick R. Michaud <pmichaud at pobox.com>
wrote:
>
> On Thu, Jan 05, 2012 at 11:51:24AM -0600, Frank Graffagnino wrote:
> > 4. Is there anything I can do to get rid of all those PageStore::ls
calls?
> > [...]
> > 17: 00.08 FPLTemplate: FPLTemplateSliceList
> > 18: 00.08 FPLTemplate: FPLTemplateFormat
> > 19: 00.10 MarkupToHTML begin
> > 20: 00.15 PageStore::ls begin wiki.d/{$FullName}
> > 21: 00.18 PageStore::ls merge wiki.d/{$FullName}
> > 22: 00.18 PageStore::ls end wiki.d/{$FullName}
> > 23: 00.18 PageStore::ls begin $FarmD/wikilib.d/{$FullName}
> > 24: 00.18 PageStore::ls merge $FarmD/wikilib.d/{$FullName}
> > 25: 00.18 PageStore::ls end $FarmD/wikilib.d/{$FullName}
> > 26: 00.18 PageStore::ls begin wiki.d/{$FullName}
> > 27: 00.20 PageStore::ls merge wiki.d/{$FullName}
> > 28: 00.20 PageStore::ls end wiki.d/{$FullName}
> > 29: 00.20 PageStore::ls begin $FarmD/wikilib.d/{$FullName}
> > 30: 00.20 PageStore::ls merge $FarmD/wikilib.d/{$FullName}
> > 31: 00.20 PageStore::ls end $FarmD/wikilib.d/{$FullName}
> > <... repeats a ton of times. Edited for brevity ... >
> > 509: 03.82 MarkupToHTML end
>
> How many times does it repeat?  In looking at the above, it appears
> to me that the total time needed to perform a single PageStore::ls
> sequence is only 0.05 seconds (0.20 - 0.15).  It would be good to
> know the timestamp for the *last* PageStore::ls that occurs, as that
> gives an upper bound on the amount of time that would be saved by
> eliminating PageStore::ls calls.
>
> Pm
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.pmichaud.com/pipermail/pmwiki-users/attachments/20120105/404e480c/attachment.html>


More information about the pmwiki-users mailing list