特定の画面への遷移にのみ時間がかかる場合は、個別に原因を調査する必要がありますが、どの画面への遷移についても時間がかかる場合、下記のような点を確認します。
いずれの問題も、データのボリュームに依存する問題で、データが少ない制作初期では気づきにくい点が特徴です。
「管理画面カスタマイズ設定」にテンプレートタグを使っている場合
管理画面への CSS、Javascript 埋め込み 機能は、埋め込む内容としてテンプレートタグを使うことができます。このテンプレートタグに、例えば記事やカスタム項目を全件対象とするような、処理時間がかかる記述を行うと、画面遷移が遅くなります。
カスタムフィールドが多数存在する場合
任意のフィールドが追加可能なカスタムフィールドは、アプリケーション初期化時に仮想的なデータとして内部処理されます。そのため、カスタムフィールドが多数存在する場合、処理時間がかかります。数百ほどであればさほど気にならないかもしれませんが、数千、数万となると明らかに重く感じられるでしょう。
カスタムフィールドの数を抑えるには
各ワークスペース/スペースで作成するのではなく、システムレベルで作成し、共通して利用できるように設計するとよいでしょう。不要なワークスペース/スペースでは表示されないようにするために、ひな形 機能で画面を整えたり、管理画面への CSS、Javascript 埋め込み 機能で強制的に非表示化することもできます。
また、入力欄を追加することについては フィールドブロックビルダー や、スニペットフィールド でも代替可能ですし、より複雑な作り込みも可能になります。
PSGI 環境
PSGI 環境であれば、アプリケーションの初期化は PSGI プロセスへの最初のアクセスでのみ行われ、次回以降はスキップされます。そのため、最初のアクセスでは時間がかかりますが、それ以降のアクセスでは問題なく画面遷移できるようになります。
PSGI プロセスが複数起動されている場合、各プロセスへの最初のアクセスの際に初期化が行われます。プロセスが 2 つ起動されている場合、最小で 2 回のアクセスですべてのプロセスが初期化されることになります。
- 一覧へ