![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
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で進めたいです。)
経験がおありの方、アドバイスをいただければ幸いです。
よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
Webアプリの場合、接続数も関係ないわけじゃないですが、それ以上に生成されるHTMLの大きさがパフォーマンスには直接影響すると思います。
たとえば50万件のデータを1つの画面で表示しよう、なんてやったら一人しかつかってなくてもHTMLの表示が延々終わらないとか。
あとはSQL文の作り方や操作の仕方でおかしなことしててそこで時間がかかるとか。。。
そういったとこの仕様のほうを気にしておけばいいんじゃないですかね。
実際Webアプリで接続ユーザーが50人ぐらい、ということでは接続数はほとんど気にする必要はないと思います。
なお、そもそもWebアプリがはじめて、ということだったらWebFromもMVCもそんなに敷居は変わらないと思いますよ。
と、そか、VB等でのWindowsアプリの経験しかないんだったらWebFormのほうがとっつき安いのは確かか。
#ちょっと凝ったことしようとしたら一緒ですけどね。。。
ご回答ありがとうございます。
そうですか、接続数よりもページのサイズのほうが影響があるのですね。
影響のある接続数となると、もっと桁が違った話になるということでしょうか。
ひとつのaspxのサイズを大きくしないとか、ページングして1回の表示数を制限するとか
ということに気をつけたほうがいい、というように理解しました。
WebFormとMVCについて
そうです、今までVBやC#でのWindowsアプリの開発しかしたことがありませんでしたので
比べてみたら、WebFormのほうがわかりやすかったのです。
No.2
- 回答日時:
蛇足でひとつ。
> ひとつのaspxのサイズを大きくしないとか、ページングして1回の表示数を制限するとか
> ということに気をつけたほうがいい、というように理解しました。
そのとおりですが、WebFormの場合はViewStateというものを使っていて、これが勝手に大きくなったりします。
簡単な例でいくと、SqlDataSourceとGridViewを使ってページングを実装すると、コードを書くことなくページングしてくれたりしますが、ViewStateにデータを全件持ってたりしますので、つくりによっては意図せずそこに50万件のデータが入ってしまったり。。。
というような点も注意点となります。
ご回答ありありがとうございます。
参考になります。
ページングを実装しても、DataSourceの使い方によっては
ページサイズが大きくなってしまうということですね。
注意して設計しようと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ルーター・ネットワーク機器 通信量や通信量による影響を計算し想定できますか 3 2023/01/13 09:07
- その他(開発・運用・管理) Windows serverでマルチキャスト通信の確認をしたいです。MicrosoftよりMPING 1 2023/03/31 01:05
- サーバー Webサイト構築フリーランスの案件受注について 1 2022/03/27 18:16
- サーバー Windows2019CALとRDS CALについて 1 2022/06/19 13:48
- ASP・SaaS イントラネットを構築したい 2 2022/04/24 11:08
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- その他(プログラミング・Web制作) プログラムの起動、利用について、使用期間を設定する方法 3 2023/08/06 21:03
- IT・エンジニアリング プログラマーです 未経験から一年半汎用系(.NET、C#)システムを作っていました。自社なので1から 3 2023/03/16 20:13
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
javascriptでSQLite接続
-
Delphi でOracleのデータを表示...
-
c#のTLS1.2での通信について
-
OracleInProcServer.XOraSessio...
-
VisualStudioでのプログラミン...
-
System.Net.Sockets.SocketExce...
-
PerlからOracleに接続
-
システム作成においておススメ...
-
ローカル側のC#から、リモート...
-
【Win7・64・C#】マイコンUSB通...
-
指定したExcelをSQLテーブルに...
-
ctfmon.exe。スタック ベースの...
-
タスクバーのボタンがオレンジ...
-
タイマーマクロの二重起動防止...
-
TeraTermマクロの”Link...
-
有効なwin32アプリケーションで...
-
web.configとは?(初心者です)
-
Windowsが起動しなくなってしま...
-
powershellの初心者です(form...
-
VBSでコマンドプロンプトを起動...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
OracleInProcServer.XOraSessio...
-
VisualStudioでのプログラミン...
-
System.Net.Sockets.SocketExce...
-
データベース接続/切断の基本的...
-
●Excel VBAからSQLServerのデー...
-
c#のTLS1.2での通信について
-
ローカル側のC#から、リモート...
-
PerlからOracleに接続
-
VB6.0のコードによるMySQLへの接続
-
VB.NET Oracle接続 クライアン...
-
VB.NET ORA-12170
-
Android端末から外部DB(MYSQL...
-
FFFTPでファイル一覧を取得でき...
-
.NETでodbc接続したい。
-
javascriptでSQLite接続
-
ASP.NETのパフォーマンスと接続...
-
ASP.NETでSQL-SERVERへの接続方法
-
Cでデータベース操作
-
Delphi でOracleのデータを表示...
-
Tomcat FireBird(データベー...
おすすめ情報