You need to sign in to do that
Don't have an account?
muromuro
Visualforce上で処理速度が遅い個所を特定する方法
お世話になっております。
私の会社のSalesforce環境で、社内の人員の稼働状況を表示するVisualforceを使用しています。
そのVFの処理速度が遅いため、どの部分で処理に時間がかかっているか、またその部分をどのようにすれば速度が改善されるかを検討してほしい、と上司から依頼されました。
そこで、開発者コンソールのExecution Overviewを使い(本番環境に入る権限がないので、圧倒的にデータ量の少ないSandbox上の話ではありますが)Visualforceで時間がかかっている(下図)ことを突き止め、「Visualforceのパフォーマンス向上」に則った改良を行うことを提案しました。
しかし、「具体的にどこが処理を遅くしているかわからないのに闇雲に修正しても、見当違いだったら意味のない作業になる」として、具体的にVisualforceコードのどこで処理時間がかかっているかを調査するよう指示されました。
調べたところ、ApexにはLimit.getCpuTime()というメソッドがあるようで、コントローラはこれをSystem.debug()で出力させることで処理速度の遅い個所を特定できるのではないかと思いました。
同様のことをVisualforceで行いたいのですが、どのようにすれば処理速度が遅い個所を特定できますでしょうか。
以上、よろしくお願いします。
私の会社のSalesforce環境で、社内の人員の稼働状況を表示するVisualforceを使用しています。
そのVFの処理速度が遅いため、どの部分で処理に時間がかかっているか、またその部分をどのようにすれば速度が改善されるかを検討してほしい、と上司から依頼されました。
そこで、開発者コンソールのExecution Overviewを使い(本番環境に入る権限がないので、圧倒的にデータ量の少ないSandbox上の話ではありますが)Visualforceで時間がかかっている(下図)ことを突き止め、「Visualforceのパフォーマンス向上」に則った改良を行うことを提案しました。
しかし、「具体的にどこが処理を遅くしているかわからないのに闇雲に修正しても、見当違いだったら意味のない作業になる」として、具体的にVisualforceコードのどこで処理時間がかかっているかを調査するよう指示されました。
調べたところ、ApexにはLimit.getCpuTime()というメソッドがあるようで、コントローラはこれをSystem.debug()で出力させることで処理速度の遅い個所を特定できるのではないかと思いました。
同様のことをVisualforceで行いたいのですが、どのようにすれば処理速度が遅い個所を特定できますでしょうか。
以上、よろしくお願いします。