こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

ASP.NETのパフォーマンスと接続クライアント数

ASP.NETで、アプリケーションを作成しています。
主にイントラネットで使用する予定です。
環境は、以下のとおりです。
サーバー:Windows Server 2008 R2, IIS 7.5
データベース:SQL Server 2008 R2
開発環境:VS2010 C#, .NET Framework 4
5人程度で開発をしています。
aspxファイルの数は、50~60です。

上司からは、50クライアントくらいが同時に接続しても
パフォーマンスが落ちないようにしろと言われていますが、
今回が初めてのWebアプリの開発で、クライアント数がどの程度
影響をおよぼすのか想像がつきません。

データベースは、メインで使用するテーブルのレコード数が
最大50万件(10年分)くらいになると想定しています。

普通のASP.NET作り方で、上記のような使用条件の場合、
パフォーマンスへの影響はどの程度あるのでしょうか。
(例えば、接続ユーザー数が5人→50人になると応答時間も10倍になるとか、・・・)

それとも、ASP.NET MVCへの移行を検討したほうが良いのでしょうか。
(正直言いまして、ASP.NETは少し敷居が高いので、できればASP.NETで進めたいです。)

経験がおありの方、アドバイスをいただければ幸いです。
よろしくお願いいたします。

投稿日時 - 2011-09-10 15:43:39

QNo.7001791

困ってます

質問者が選んだベストアンサー

Webアプリの場合、接続数も関係ないわけじゃないですが、それ以上に生成されるHTMLの大きさがパフォーマンスには直接影響すると思います。
たとえば50万件のデータを1つの画面で表示しよう、なんてやったら一人しかつかってなくてもHTMLの表示が延々終わらないとか。
あとはSQL文の作り方や操作の仕方でおかしなことしててそこで時間がかかるとか。。。
そういったとこの仕様のほうを気にしておけばいいんじゃないですかね。

実際Webアプリで接続ユーザーが50人ぐらい、ということでは接続数はほとんど気にする必要はないと思います。

なお、そもそもWebアプリがはじめて、ということだったらWebFromもMVCもそんなに敷居は変わらないと思いますよ。
と、そか、VB等でのWindowsアプリの経験しかないんだったらWebFormのほうがとっつき安いのは確かか。

#ちょっと凝ったことしようとしたら一緒ですけどね。。。

投稿日時 - 2011-09-12 14:18:43

お礼

ご回答ありがとうございます。

そうですか、接続数よりもページのサイズのほうが影響があるのですね。

影響のある接続数となると、もっと桁が違った話になるということでしょうか。

ひとつのaspxのサイズを大きくしないとか、ページングして1回の表示数を制限するとか
ということに気をつけたほうがいい、というように理解しました。

WebFormとMVCについて
そうです、今までVBやC#でのWindowsアプリの開発しかしたことがありませんでしたので
比べてみたら、WebFormのほうがわかりやすかったのです。

投稿日時 - 2011-09-12 15:41:20

ANo.1

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

蛇足でひとつ。

> ひとつのaspxのサイズを大きくしないとか、ページングして1回の表示数を制限するとか
> ということに気をつけたほうがいい、というように理解しました。

そのとおりですが、WebFormの場合はViewStateというものを使っていて、これが勝手に大きくなったりします。
簡単な例でいくと、SqlDataSourceとGridViewを使ってページングを実装すると、コードを書くことなくページングしてくれたりしますが、ViewStateにデータを全件持ってたりしますので、つくりによっては意図せずそこに50万件のデータが入ってしまったり。。。
というような点も注意点となります。

投稿日時 - 2011-09-12 16:18:35

お礼

ご回答ありありがとうございます。

参考になります。

ページングを実装しても、DataSourceの使い方によっては
ページサイズが大きくなってしまうということですね。
注意して設計しようと思います。

投稿日時 - 2011-09-12 19:04:39

あなたにオススメの質問