
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ランキング
-
VB2010 Dataset内のDB接続先変更
-
ASP.NETのパフォーマンスと接続...
-
ctfmon.exe。スタック ベースの...
-
TeraTermマクロの”Link...
-
jdk17.06のインストーラーが起...
-
Windowsが起動しなくなってしま...
-
.netでスタートページでエラー...
-
web.configとは?(初心者です)
-
ASP AccessDBオープン出来ない
-
Windows10でwindows8やwindows7...
-
IIS7.5 Excel ファイルオープ...
-
「予期しないエラーが発生しま...
-
信長の野望 革新について
-
Kirium Mail Sever のインスト...
-
コマンドボタンのキャプション...
-
実行プログラム名の取得
-
ASP.netのweb.configについて
-
Ubuntuで自動関連付けをするには?
-
管理者権限のないユーザーだと...
-
コマンドプロンプトのERRORLEVE...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
c#のTLS1.2での通信について
-
ConnectNamedPipeの接続待ち
-
FFFTPでファイル一覧を取得でき...
-
データベース接続/切断の基本的...
-
System.Net.Sockets.SocketExce...
-
VB2010 Dataset内のDB接続先変更
-
OracleInProcServer.XOraSessio...
-
Android端末から外部DB(MYSQL...
-
SFTPについて
-
VisualStudioでのプログラミン...
-
VB6.0のコードによるMySQLへの接続
-
VB.NETで、ORACLE 8に接続する...
-
ページ毎にMySQL
-
AccessのDBをExcelのListboxに...
-
ローカル側のC#から、リモート...
-
DataAdapterだけじゃダメ?
-
MYSQL接続 Imports エラー
-
非接続型なのでしょうか?
-
javascriptでSQLite接続
-
C#でのデータベースプログラミング
おすすめ情報