リクエスト広場

ecacheプラグインの一部オプションが機能していない、include系プラグインの使用上限緩和のしきい値が中途半端

3 コメント
views
5 フォロー

(1) ecacheプラグインの一部オプションが機能していない

resetオプションの一部の値について、説明と実際の挙動が異なります。そのためincludeを使用していないような、本来はreset=newの指定が最も合理的なページでも負荷低減のためには適当な数値で秒数指定せざるをえない状態となっています。

もしこれが不具合であれば修正を、意図した挙動(オリジナルのecacheからの修正)であれば説明文の見直しをお願いできますでしょうか。

詳細

resetオプションの値本来の仕様実際の挙動
reset=on強制的にリセット強制的にリセット
reset=off常に更新しない強制的にリセット?
reset=newページがキャッシュよりも新しければ更新する強制的にリセット?
reset=秒数指定秒数毎にキャッシュを強制リセット(new の効果もある)reset=秒数で指定秒数毎にキャッシュを強制リセット(new の効果もある)

参考:https://wikiwiki.jp/nijisanji/ためしがき/ecacheテスト

(2) include系プラグインの使用上限緩和のしきい値が中途半端

説明文によれば、reset=秒数指定時に「3600秒超過でinclude系プラグインの上限緩和」とあるものの、実際の条件緩和のしきい値は「3600以上」ではなく「3601以上」になっています。

「超過」の解釈次第では3601以上と読み取れなくもないですが、単に条件式をreset>=3600とすべきところをreset>3600にしているだけのような気がしています。混乱の元になってしまう箇所ですので修正を検討いただければと思います。

名前なし
作成: 2023/01/26 (木) 08:25:28
通報 ...
1
名前なし 2023/02/12 (日) 05:39:15 80cc4@2e980

1年ほど前、独自にecacheの挙動に関して調べていた者です。
大前提としてincludeに限らず、他のページや情報を参照する(≒表示される内容が変化する)書式に対してecacheを使用した場合、意図しない挙動になる可能性があります。
例えば「reset=new」は、使用しているページの内容が更新(編集)されないとecacheの更新を行いません。
そのため「reset=new」の指定範囲内にincludeが含まれている場合、そのページを更新しない限りincludeの表示内容は更新されません。
また、ecacheの製作者さんがプラグインのページで答えていますが、「reset=秒数」は「更新する頻度」ではなく「更新の確認をする頻度」です。
強制リセットではなく、内容が更新されていた場合にのみecacheを更新するようです。

(1)
一部の書式はecacheを無視?するようです。
例えば「#twitter_timeline」の場合は「5分に1度更新または新しいツイートは即更新」といった挙動で固定されます。
そのためこれ以外でも独自の挙動をとり、ecacheのオプションが適用されない書式がある可能性があります。
以前その他も個別に調べようかと思いましたが、作業が大変なので断念しました。
これらが問題になる場合は、それ以外にのみecacheを適用するなどすれば問題を解決できるかもしれません。
→1つのページ内で複数のecacheを使用できます。

例:
 #ecache(reset=new){{
 内容
 }}
 #include
 #ecache(reset=new){{
 内容
 }}

AutoAliasNameを含む「リンク化⇔非リンク化」も更新されなくなるので、「reset=new」で問題が起こらないほうが稀かもしれません。
蛇足ですが製作者さんのページ「http://pukiwiki.sonots.com 」にアクセスできないのが気になります(一部インターネットアーカイブ有)。

2
名前なし 2023/04/29 (土) 19:34:49 51981@623a9

結局この仕様(?)不具合(?)は解消されたのでしょうか。個人的にはreset=newが動いているとは思えないのですが…

利用者としては主要な目的はinclude系プラグインの上限緩和であり、こちらは機能しているので差し迫った問題ではないのですが、
>負荷をかけているWIKIについて
>サーバーに負荷をかけているWIKIはサーバーのリソースを食い潰さないようにするため、
>専用の隔離サーバーにダウングレードいたします。
>積極的にecacheプラグインを使用してください
とあり、reset=newでecacheプラグインを導入しているにも関わらずサーバー負荷軽減に寄与できていないケースがあるとすれば互いに損失かと思います。

3
るー 2023/05/04 (木) 19:44:07

(1)について、こちらでも検証してみたところreset=offreset=newでは処理時間が全く短くならなかったので、確かに機能していないようです。reset=秒数だと爆速になりました。
ecacheを利用する際の混乱の元になると思うので、運営様には動作の修正、またはこの問題が認知されやすいように発表や文書への注意書きなどをお願いしたいですね。

×
要望は具体的な提案や理由を書いて下さい。