web-dev-qa-db-ja.com

約50のフィールドを持つノード追加フォームを高速化する方法は?

約50のフィールドを持つノード追加フォームがあり、ほとんどが1つのフィールドコレクション(別の5つのフィールドを持つ)を持つテキストと、いくつかのエンティティと用語参照があります。

ページの読み込みに約30秒かかり、使用できなくなります。

いくつかの遅いクエリがあります( 99.28-DrupalDatabaseCache :: getMultiple4.21-views_plugin_query_default :: execute20.51-DrupalDefaultEntityController :: load 、18.46- DrupalDatabaseCache :: getMultiple、17.46-DrupalDatabaseCache :: getMultiple ..続けます)

Cache :: getMultipleクエリには1087のプレースホルダーがあり、EntityController :: loadには1084のプレースホルダーがあります。

完了までにさらに30秒かかるフィールドコレクションの[別のアイテムを追加]をクリックした場合。

ページの読み込み時間を短縮するにはどうすればよいですか?

編集:私はAPCをインストールしましたが、すべてのキャッシュクエリが削除されましたが、問題は解決されませんでした-それでも約30秒のロード時間です。遅いロード時間はキャッシングに関連しているとは思いません。約280MBのメモリロードを使用してページを構築しています。

編集:フィールドコレクションを削除し、memcacheとentitycacheをインストールすると、読み込み時間が20秒短縮されました。ただし、最初にページをロードするのに10秒かかり、ajaxリクエストごとにさらに10秒は許容されません。多数のフィールドでWebフォームはどのように機能しますか?多分それはより良いオプションでしょうか?

7
Felix Eve

ノードの作成にマルチステップフォームの使用を検討しましたか?

多くのフィールドがある場合、さまざまな論理ステップを使用して、複数のページの読み込みでそれを行うことができます。 Drupalのマルチステップフォーム実装用の lots of tutorials があり、サンプルモジュールには1つが同梱されています。

3
Badri