MODx(0.961p2)で2000件ぐらいのドキュメントを作成した。
親フォルダの下の2000件ぐらいのドキュメントがぶら下がっているイメージ。
Wayfinder(2.0)でメニューを表示させる。
しかし、2000件を表示させるのは無理なので親フォルダ1件だけ表示させる。
Webの画面を開く。ぜんぜん帰ってこない。httpdでcpu率の100%nearが永遠と続く。
Wayfinderのソースをみる。なんだこりゃ!
SQLを以下のように吐き出している。

SELECT DISTINCT sc.id,
sc.menutitle,
sc.pagetitle,
sc.introtext,
sc.menuindex,
sc.published,
sc.hidemenu,
sc.parent,
sc.isfolder,
sc.description,
sc.alias,
sc.longtitle,
sc.type,if(sc.type='reference',sc.content,'') as content,
sc.template,
sc.link_attributes FROM `modxshopdb`.`modx_site_content` sc LEFT JOIN
`modxshopdb`.`modx_document_groups` dg ON dg.document = sc.id
WHERE sc.published=1 AND sc.deleted=0 AND (sc.privateweb=0) AND
sc.hidemenu=0 AND
sc.id IN (95,
2065,〜   → 2000件

このINの要素(小ドキュメント)を作成するのに時間をかけ、さらにここでも時間がかかるSQLを発行している。
結局、Wayfinderは使わず、自分でスニペットを作成してメニューを表示。(汎用にはしていなので当然速い)
ここを解決したら、次はDitto(2.02)。sitemapを作成する処理を作っていたが、これもWayfinderと同じような処理。
超遅い。podがアクセスしたらタイムアウトしてしまう。ここもDittoを諦め、自前で作成。
MODxって詳細解説書がないので困ったものだ。スニペットのソースまでは見ていられない。