2017-02-01 10 views
1

私は、Java 8/Spring 4/Hibernate 5/Wicket 7を使用してWicketアプリケーションをビルドします。アプリケーションが成長して以来、時間が経つにつれてアプリケーションが遅くなることが分かります。ウィッケットの詳細を知っていますか、アプリケーションを分析して調整する方法はありますか?私はあなたのtippsに感謝しています。ウィケットアプリケーションのパフォーマンスを調整するにはどうすればいいですか?

  1. どのようにあなたセットアップあなたのコンポーネント(ライフサイクル(onBeforeRender()onInitialize()onConfigure()など))? onInitializeを使用してサブコンポーネントを追加し、onConfigureを使用してコンポーネントを有効にしたり、モデルに基づいて可視性を設定したり、コンポーネントを置き換えるにはonBeforeRenderを使用します。モデルは、コンポーネントのコンストラクタで初期化されます。
  2. ます(セッションのサイズを確認するために改札-devutilsようDebugBar。)より良いWicketの性能を把握するためのツール、シリアライズを、知っています

私はあなたが必要としないいくつかのコンポーネントを追加するという感覚を持っていますonInitialize()では、セットアップが必要で、おそらく使用されていないため、最良の解決策ではありません。 (例えば、我々はモーダルダイアログを持っていますが、これはjavaScriptによって開かれていますが、前にレンダリングされています)。もちろん、高価なメソッドを使用してコンポーネントの可視性をチェックすることは避けてください。onConfigure()

+0

現代のクライアントサイドフレームワークに切り替えるのは有効な提案ではないと思います... – Sebas

+0

あなたが言及しているスタックを考えると、私は何か他のものを見始める前にHibernateに焦点を合わせます。そのチャンスは、そこに顕著なパフォーマンスの問題が存在するだけではるかに高いです。 – Gimby

+0

*それは私の選択*となりますが、誰もそれを支払うことはありません、少なくとも私はいくつかの「コード潜水艦」を開始しています:)。 –

答えて

0

JProfilerやYourKitなどのプロファイラを使用して理由を調べることをお勧めします。一度それを見つけると、ソリューションを探すのがずっと簡単になります。

私は同じスタックを使用していますが、パフォーマンスに関する問題はDB関連のコードにあります。遅いクエリでも多すぎるクエリでも問題ありません。

問題がWicket自体である場合は、改善することができます。ちょうどhttps://issues.apache.org/jira/browse/WICKETに切符を上げてください!

+0

私はWicketのバグではないことを確信しています。アプリケーションサイズが大きくなり、セッションサイズが大きくなるにつれて、アプリケーションが遅くなる(遅いプロセス)ことがわかりました。開発中の問題です。他の人々がこれをどのように処理しているかを知りたがっています。私たちが最初にやったことは、データベースのクエリをチューニングすることでした。今私は、人々が優れた戦略や道具を使ってWicketを演技的に使うことを知りたいだけです。しかし、それはあなたが正しいと思う、良いプロファイラを使用しておそらく良いことです。 –

+0

私たちはプロファイラーも使用しています。私はZeroTurnaroundからXRebelを本当に楽しんでいることを認めなければならない。これはWicketで新しい/古いページを開発するたびに表示されるので、「セッションサイズ」やデータベースクエリの量などを表示します。これにより、「この単純なページはデータベースに300回問い合わせるべきではありません」や「セッションが1 MBだけ成長したのはなぜですか? ...それらのほとんどは修正するのがかなり簡単です。 –

関連する問題