SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

japan.internet.com翻訳記事

Webアプリケーションのパフォーマンス向上を実現する5つのステップ

ASP.NETパフォーマンスチェックポイント

  • X ポスト
  • このエントリーをはてなブックマークに追加

2. IISアプリケーションプールを管理する

 一般にWebアプリケーションを扱う場合は、複数のコンポーネントが関わってきます。通常はメインのWebサイトがあり、1つ以上のWebサービスがあり、場合によってはイメージハンドラアプリケーションがあります。IIS 6.0を使用すると、複数のアプリケーションプールを作成することができます。このアプリケーションプールを使用すると、アプリケーションをグループ化して、個々のワーカープロセスに処理させることができます。

 アプリケーションを個々のアプリケーションプールに分けるメリットの1つは、各ワーカープロセスがそれぞれのメモリセットを使用することにあります。どれほど大量のメモリがサーバーに搭載されていても、ASP.NETワーカープロセスが使用するメモリが800~900メガバイトを超えだすと、一般に、ASP.NETワーカープロセスの速度が低下し始めます。

 アプリケーションを個々のアプリケーションプールに分けると、複数のワーカープロセスが要求を処理することで、ワーカープロセスあたりのメモリ使用量を低く抑えることが可能です。アプリケーションプールの作成の詳細については、Microsoftのドキュメントを参照してください。

3. ASP.NETの状態を管理する

 ASP.NETのさまざまな状態を理解することは、アプリケーションのパフォーマンスを向上するうえで非常に重要です。ASP.NETには多くの状態がありますが、その中でも、アプリケーション状態、セッション状態、プロファイルプロパティに特に注意してください。この3つはすべて、サーバー上のメモリにデータを格納します。本当に必要でない限りは、この3つの状態にあまり多くのデータを格納しないようにします。セッション状態にデータを格納する必要がある場合は、頻繁に使用する識別子フィールドや静的データなど、必要なデータのみを格納します。

 ASP.NETの各状態の詳細については、すべての状態に関する多くの記事をWeb上で見つけることができます。各状態は、必要な場合に限って本来の目的で使用します。ASP.NETの状態については、時間をかけて学習し、完全に理解するようにしてください。

 注意していただきたいもう1つの状態がビューステートです。これはクライアントに影響します。ビューステートは、サーバーへのラウンドトリップの間、ページまたはコントロール上の値を保持するために使用されます。ASP.NETページとコントロールでは、既定でビューステートがオンになっています。すべてのWebページでビューステートが必要なわけではありません。比較的大きなWebページは、大量のデータをビューステートに格納する可能性があります。目的のページのビューステートを知る1つの方法は、Webブラウザから[ソースの表示]を実行することです。ページの先頭にある暗号のような大きなデータブロックが、ビューステートです。各Webページを調べて、ビューステートが必要かどうかを判断してください。サーバーのポストバックイベントのないページでは、ビューステートをオフにできます。ビューステートは、必要に応じてページ全体、ユーザーコントロール、またはコントロール単位でオフにすることができます。ページまたはコントロールでビューステートをオフにした場合は、ページ全体をテストして、ページが正しく動作することを確認します。

4. スタイルシートとスクリプトファイルを整理する

 Webアプリケーションのパフォーマンスを向上させる簡単な方法として、不要なコードや古いスタイルと関数のCSSスタイルシートとスクリプトファイルを除去する方法が挙げられます。開発サイクル時やWebサイトの改善時に、スタイルシートとスクリプトファイルに古いスタイルと関数がそのまま残っていることがよくあります。多くのWebサイトでは、Webサイト全体で1つのCSSスタイルシートまたはスクリプトファイルを使用しています。これらのファイルを調べて、不要なものを取り除くだけで、ページサイズが削減され、サイトのパフォーマンスが向上する場合があります。Webサイトでもう使用されていないスタイルシート内のイメージを参照している場合、そのスタイルシートにイメージを残し、スタイルシートを読み込むたびにそのイメージも読み込むことはパフォーマンスの無駄です。Webサイト内のページに対してWebページアナライザを実行すると、何が読み込まれるか、そして読み込みに最も時間がかかるものは何かを正確に把握できます。

次のページ
5. Visual Studio Team Systemを使用して負荷テストを行う

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
japan.internet.com翻訳記事連載記事一覧

もっと読む

この記事の著者

japan.internet.com(ジャパンインターネットコム)

japan.internet.com は、1999年9月にオープンした、日本初のネットビジネス専門ニュースサイト。月間2億以上のページビューを誇る米国 Jupitermedia Corporation (Nasdaq: JUPM) のニュースサイト internet.comEarthWeb.com からの最新記事を日本語に翻訳して掲載するとともに、日本独自のネットビジネス関連記事やレポートを配信。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

Andrew Bonslater(Andrew Bonslater)

中規模~大規模組織向けのソリューションデベロッパ。Crowe Chizek(インディアナ州インディアナポリス)の方向性を決定するリーダー。Webベースソリューションが専門。メールアドレスはabonslater@crowechizek.com。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/1978 2008/01/18 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング