SHOEISHA iD

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

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

japan.internet.com翻訳記事

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

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

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

開発者の目標は、正しいメモリ管理と、Webサーバーによる要求の処理方法を理解したうえで、適切に動作するWebアプリケーションを開発することです。しかし、それを念頭に置いているにもかかわらず、パフォーマンスを向上させるチャンスを見逃していることがよくあります。本稿では、Webアプリケーションのパフォーマンスを簡単に向上させる5つのステップを紹介します。

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

はじめに

 ASP.NET Webアプリケーションの運用開始日が近づいているが、パフォーマンスに少々問題がある――このような経験をした覚えはないでしょうか。開発者の目標は、正しいメモリ管理と、Webサーバーによる要求の処理方法を理解したうえで、適切に動作するWebアプリケーションを開発することです。しかし、この目標を念頭に置いてアプリケーション開発に取り組んでいるにもかかわらず、パフォーマンスを向上させるチャンスを見逃していることがよくあります。そこで本稿では、Webアプリケーションのパフォーマンスを簡単に向上させる5つのステップを紹介します。

1. データアクセスオブジェクトを適切に処理する

 データアクセスオブジェクトが正しく処理されないことが、サーバー上のメモリを無駄にする原因の1つです。データアクセスオブジェクトを作成する場合は、その有効期間に加えて、不要になった場合の破棄の方法について正しく理解していることが重要です。私はこれまで、DataReaderを作成し、開き、使用して、破棄しない開発者を何人も見てきました。データアクセスオブジェクトは正しく管理するようにしてください。そうすれば、IISワーカープロセスがメモリを使用し続けて最終的にクラッシュするという問題の原因について悩まずに済みます。ソリューション内で、DataReaderのインスタンスを新規作成している箇所を検索してください。見つかった個々のインスタンスについて、それが適切に閉じられ、破棄されることを確認します。DataReaderを対象とするtry/catch/finallyブロックを使用するか、using文を使用して、例外が発生した場合はfinallyブロックでDataReaderを閉じ、破棄するようにします。

 using文の例は次のようになります。

using (IDataReader reader = MySite.GetSearchResults())
{
   //Consume the datareader
   while (reader.Read())
   {
      //Do something with the data
   }
}

 try/catch/finallyブロックの例は次のようになります。

IDataReader reader;
try
{
   reader = MyWeb.GetSearchResults();
   while (reader.Read())
   {
      //Do something with the data
   }
}
catch (Exception ex)
{
   //Log the exception
}
finally
{
   //Dispose the object if it exists
   if (reader != null)
      reader.Dispose();
}

会員登録無料すると、続きをお読みいただけます

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

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

メールバックナンバー

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

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

  • このエントリーをはてなブックマークに追加
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。

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

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

この記事をシェア

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

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング