WINDOWS NT4.0+IIS+JRUNという環境でjavaで作成した業務系アプリのパフォーマンスを調査中なのですが、5台のクライアントから同時にアクセスすると1台の時より
3倍もの時間がかかります。ここで質問なのですが
最も時間をとっているのはDBへのコネクションを貼っているところなのです。このためコネクションプーリングを
用いるコードに改訂したのですが上記のパフォーマンス程度です。
(プーリングを用いる前はこの2倍かかっていました)
パフォーマンスをあげるための改善方法として、効果的なものにどんなものがあるのでしょうか?
ご教示ください。
No.1
- 回答日時:
詳しくはないので 繋ぎのアドバイスとして・・・
IISのサービスウィンドを表示させ「パフォーマンス」というタブがありますよね?
ここのHIT数を上げることによって多少調整ができるようです。
後はハードウェア的な調整でしょうか。
PentiumIII800EB*2 メモリ1024 RAID/0
メモリが512のときにはありましたが1024にしてから苦情は減りました(^^;
No.2ベストアンサー
- 回答日時:
何のDBを使っているか、やどういうpoolingをしているかが書かれてないのでそれなりにしか書けないのですが・・・
まずDBによって接続にかかる時間は変わります。よって検索能力がいくら高くても接続に時間が掛かるDBシステムでは結果として長い時間がかかる可能性があるため、DBそのものをすげ替える方法がその一。
なお、Oracleは接続処理のオーバヘッドが結構大きいそうで。
まぁ上記の回答では会社の上が納得しないでしょうから(なぜか日本では金額が高いものイコール品質の高いものと思う人が多いようです・・・保証規定とかをきっちり読めばFreeな物も高い商品も違いがないものが多いんですが・・・)Poolingをもっと高度にする事。現行でどういうPoolingしているのか分かりませんが、極端な話、Poolingクラスのコンストラクタでコネクションをいくつか生成し、finalize処理時にコネクションをクローズさせるようにして、さらに接続が必要なクラスからはPoolingクラスのインスタンス一つ相手に押し付ける事で接続のオーバヘッドを消す事が出来るはずです(ただ、シリアライズ処理や排他制御などはすべて不可能、もしくは自前で処理となるので余り現実的ではありませんが)。
次善策としてWebサーバと同様に同時接続数を限定し、同時接続数を上限として上記と同様のPoolingクラスと同様にコンストラクタ-ファイナライズ間で接続を保持するPoolingクラスのインスタンスを生成し、このインスタンスをweb側からの接続要求と結び付けるクラスを用意してやる事で(接続要求側は処理終了時点でPoolingインスタンスを返却する)接続のオーバヘッドをなくしたうえでDBの排他制御も利用する事が出来るはずです。
但し説続最大数を超えた要求が来た場合、それをIdlingさせておく必要があります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Android(アンドロイド) Redmi Note 9Tを少し前にAndroid12にアップデートしました。 アップデートする前よ 3 2022/09/06 18:38
- ノートパソコン タスクマネージャーでディスク0(C:)が100%近くなると何が起こりますか? 4 2022/08/21 09:35
- Illustrator(イラストレーター) Illustrator『リアルタイムプレビュー』機能をオフにする方法 1 2023/03/05 20:38
- その他(クラウドサービス・オンラインストレージ) Windowsクラウドサービス「OneDrive」の不具合 3 2022/06/17 20:04
- その他(パソコン・スマホ・電化製品) PCが遅い原因の改善 30 2023/02/02 11:26
- 学校 迷惑か迷惑じゃないか教えて頂きたいです。 私の学校は体育大会でパフォーマンス委員と団旗制作委員に別れ 4 2022/04/26 01:31
- Chrome(クローム) アンドロイドの最近のGoogle Chromeの更新ですが、更新内容はパフォーマンスの改善とか書いて 2 2023/07/04 14:05
- 不動産投資・投資信託 投資信託の長期積立での債券の組み入れについて 4 2022/08/11 11:56
- 株主優待 優待がある方がいいのか、なくてもお買い得のものを探す方がいいのか 2 2023/05/26 13:28
- ネットワーク 社内ネットワークの1台だけ接続できないときがある 4 2023/01/25 11:58
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「ただし,その件は」の「ただ...
-
Tera Termを起動して新しい接続...
-
エアコン配線の途中接続はなぜ...
-
bebirdというイヤースコープを...
-
単三の漏電ブレーカーを単二で...
-
ワードに張り付けたURLが開かない
-
自分のスマホゲームの不具合が...
-
M.2 PCI Express 接続 M.2 PCIe...
-
ワイハイ接続について、 例えば...
-
VPNのオンデマンド接続とはなん...
-
太い電線の接続方法について
-
蛍光灯安定器の絶縁測定につい...
-
ディズニープラスの繋ぎ方
-
ABEMAって接続悪いですか? ず...
-
今更ですが、ドラクエ9について...
-
リモートデスクトップで接続先P...
-
モンストのマルチプレイほぼほ...
-
コミュファ光はVPN接続できます...
-
プリンターをUSBとLanで同時に...
-
IPアドレスは定期的に変わるも...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「ただし,その件は」の「ただ...
-
Tera Termを起動して新しい接続...
-
エアコン配線の途中接続はなぜ...
-
単三の漏電ブレーカーを単二で...
-
bebirdというイヤースコープを...
-
VPNのオンデマンド接続とはなん...
-
IPアドレスは定期的に変わるも...
-
一般相対性理論の接続
-
モンストのマルチプレイほぼほ...
-
Wi-Fiと位置情報バレについて
-
蛍光灯安定器の絶縁測定につい...
-
Aterm BL1000HWでの奇妙なWiFi...
-
会社説明会に遅刻してしまいま...
-
M.2 PCI Express 接続 M.2 PCIe...
-
ワードに張り付けたURLが開かない
-
ANYDESK 画像が転送されない
-
太陽光発電の配線用ELBについて
-
ワイハイ接続について、 例えば...
-
TeraTermマクロで入力した文字...
-
フリーWi-FiでEDGEだと時間切れ...
おすすめ情報