• 締切済み

クライアントでの処理が遅い

毎々お世話になっています。yayamamaともうします。 MSDE2000を使用してVisual Basic6.0でデータベースアプリを作成しています。接続はADO(MDAC2.7)です。 ローカルでMSDEに接続する場合と、他マシンからネットワーク経由で接続する場合で処理速度の差異が大きい場合があり、原因を調査しています。 2台のPCで使用するだけのアプリなので、一台をDBServer扱いしていますが2台とも単なるPCです。 OSは両方ともWindowsXPを使用し、ネットワークプロトコルはNetBEUIで、MSDE2000の接続は名前付きパイプで行っています。 接続の設定、あるいはネットワークに問題があるとは思っているのですが、有効な方法を見つけられないのが現状です。出来ましたらご教示お願いしたく投稿させて頂きました。 別のサイトで同じ様な現象があり、MDAC2.8にしたら解決したと言うのがありましたが、この場合、これは有効でしょうか?

みんなの回答

noname#11722
noname#11722
回答No.2

返事遅れました。すみません。 >遅くなる部分は3000件のデータを無条件で抽出する単純なselect文です。レコードセットオプジェクトのOPENメソッドでOPENするのに、Local端末では1秒ほど、ネットワークを介すると4秒ほどかかります。 本当に単純なSELECT文なら妥当かと思われます。 フィールド数がどのくらいかはわかりませんが、3000件ものデータを ネットワーク上に流すならそれくらいはかかるでしょう クライアントで3000件も受け取って何をしているのでしょう。 表示用ですか?画面に全て表示できないなら、データを小分けにしてその都度貰うようにしましょう。 クライアントのループで何か演算するのであれば、サーバー側で処理するようにします。 どうしても、一度で3000件ものデータを取り込むのであれば、速度を上げるのは難しいかもしれません。

全文を見る
すると、全ての回答が全文表示されます。
noname#11722
noname#11722
回答No.1

NetBEUIで接続したことが無いので速度的にどうか?答えられませんが、一度TCP/IP等で接続してテストしてみてください。 どのプロトコルでもそうですが、ローカルに比べてネットワークを介すると遅くなるのは避けられません。 遅くなる部分は、どのような処理なのでしょうか? 処理が極端に遅い場合はたいていクライアント側で余計な処理を行っていることが多々見受けられます。 高速化する場合は、クライアント側は必要なコマンドをサーバーに送るだけにして、サーバー側で検索、抽出、演算を行い、 結果だけをクライアントに返すようにします。 ネットワーク越しに速度を上げるには、とりあえずネットワークに流れるデータ量を少なくすることが一番です。 見当違いであればごめんなさい。

yayamama
質問者

補足

回答ありがとうございました。TCP/IPで接続を行ってみましたが、速度はかわらなかったです。 遅くなる部分は3000件のデータを無条件で抽出する単純なselect文です。レコードセットオプジェクトのOPENメソッドでOPENするのに、Local端末では1秒ほど、ネットワークを介すると4秒ほどかかります。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ネットワーク構築後1台のPCがネットに繋がらない

    OSをWindows 2000で使用しているPCをcorega社のBAR SW-4P Proのルータでネットワークを組んでいました。そのうちの一台にNetBEUIプロトコルをインストしたところインストした一台だけネットに接続できなくなりました。ネットワークでは他のPCと繋がってるのですが、何が原因だと思われるでしょうか? その後の対処としては 1)NetBEUIプロトコルを削除したがだめ 2)TCP/IPを再インストしたがだめ 3)ルーターをリセットしたがだめ 4)繋がらないPCからはルーターのIPアドレスでルーターの設定画面に入れません。 LANカードの故障でしょうか?お分かりの方ご教示いただけないでしょうか。 よろしくお願いします。

  • MSDE ACCESSの処理がサーバとクライアントで処理時間が違う

    WindowsXP Access2003 MSDEを使用しております。 ADOを用い ある2つのテーブルを比較して、差異があれば 別のテーブルに差異情報を追加していくという処理をAccessVBA上で行っております。 このプログラムをクライアント側で実行するのとサーバ側で実行するのとで 処理時間が異なります。 クライアント側で実行すると40分 サーバ側で実行すると6時間以上かかってしまいます。 プログラムが組み込まれたadpファイルはまったく同じです。 サーバ側実行時にタスクマネージャで監視していると、 CPU占有率は数%程度で MSACCESS.exeのメモリ使用量はそれほど増減しないのですが sqlserber.exeのメモリ使用量が増加していきます。 しばらく監視しているとまたメモリ使用量はへったのですが、また増えていきます。 サーバ側で遅くなる原因はどこにあるのでしょうか。 ご教示のほど何卒よろしくお願いいたします。

  • NetBEUIプロトコルでファイル共有してるかの確認方法を教えてください

    現在CATVインターネットに加入してまして、 (プロバイダはZAQです) グローバルアドレスを二つもらい、 ケーブルモデムからリピータハブで二台のPCに接続しています。 一台はXPでもう一台は2000です。 この二台でファイルとプリンタを共有させようと思いまして、 CATVではTCP/IPでファイル共有は危険なので NetBEUIプロトコルを入れて共有フォルダを作りました。 はたして、ファイルの共有でNetBEUIプロトコルが使用されてるのか、 TCP/IPプロトコルが使用されてるのかがわからなくて不安です。 確認方法を教えてください。 それとXPをクライアントに設定したときに2000の方の共有フォルダの 表示がかなり遅いんですけどそれも原因がわかりません。 今年受験したテクニカルエンジニア(ネットワーク)の試験の点数が ボーダーラインくらいなので合格発表待ちなのですが、 情けないことに実際のネットワークはまださっぱりわかりません・・・

  • WindowsLANはNetBEUIだと聞いたのですがtcp/ipだけで動いてしまいました

    WindowsLANのプロトコルははNetBEUIだと聞いたのですが 以前にこの掲示板で、不要なプロトコルはなるべく捨てて tcp/ipだけで動かすのが良い、とうかがい実践しました。 不要なプロトコルはなるべく捨てて身軽がよい、というの はよくわかるのですが、そもそもNETBEUIプロトコルの WINDOWSのLANネットワークが、なぜNETBEUIを捨ててし まってもちゃんと機能できてしまうんでしょうか??? (そうすると、一体何のためにわざわざ「NETBEUIプロトコル」 が選択肢として用意されているんだろう?という疑問です。) どうしても「NETBEUI」をインストールしないと動いてくれない 場合、というのはどんなケースになりますでしょうか?

  • CATV環境でLANができたのは何故?

    CATVのインターネットサービスを利用しています。 2台目のPCを購入したため、LANでネットワークを 組もうと思い立ちました。 このサイトの以前の質問でCATV接続では 「LANボードの2枚差し」が必要との回答がありました ので、2枚用意したのですが、結局その必要はなく、 各PCに1枚のLANボードでHUBを介して インターネット接続もPC間のネットワークも確立 しました。 ただし、ネットワークの通信プロトコルをTCP/IPにした 場合は上手く行かず(インターネット接続が出来ない) 、プロトコルをNetBEUIにすると成功しました。 我ながら変な質問ですが、何故成功したのでしょうか? 特にTCP/IPで失敗した原因を教えていただきたいのです。 よろしくお願いします。

  • クライアント側VB6アプリとサーバー側WinXPのファイアウォール

    以下の環境にて接続不能で困っています。 <サーバ側>  WinXP(SP3) SQLServer2000 Windowsのファイアウォールを有効化している。 <クライアント側>  WinXP VB6で作成したアプリケーション。データベース接続にはADOを使用しています。 この環境で、サーバ側のファイアウォールを無効化すれば接続できますが、有効化すれば接続不能になります。 VB6アプリをファイアウォールの例外として登録すれば良いのかとも思いますが、VB6アプリは200程のEXEで構成しているのでひとつひとつ登録するのは困難です。 使用しているプロトコルとポート番号を登録すれば良いのかとも思いますが、ADOがSQLServerへ接続するときにどのプロトコル(おそらくはTCP)とポート番号を使用するのかが不明です。 サーバ側のファイアウォールを有効にした上で、接続できる良い方法をご存知でしたらお教え願います。

  • Win95-98-Me-NT-2000-XPでのLANの構築

    《クライアントから、マイネットワークを使ってファイルサーバが見えません》 現在、Win95_OSバージョン4.00950.a(PC-98)マシンをファイルサーバとして、 95-2台, 98-4台, Me-2台, xp-1台, 2000-1台, NT-5台を ネットワーク接続しています。 ファイルサーバのネットワーク設定は、TCP/IPプロトコルと、netBEUIプロトコル が同居しています。  TCP/IPプロトコルの設定はネットワーククライアントと、 ネットワーク共有サービスのバインドにチェックが入ってます。IPアドレスも独自に振り分けています。  netBEUIの設定は、ネットワーククライアントと、ネットワーク共有サービスの バインドにチェックが入っており、標準のプロトコルに設定のチェックボックスにチェックが入っています。 クライアント側の設置も同様です。 当初、うまく接続されていて、ワークグループを表示すると全てのクライアントが表示されていたよう気きがしますが?、 最近ワークグループ内にクライアントのPCは表示されますが、ファイルサーバが表示されません。(マイネットワークからだと使えない。) しかし、ネットワークドライブの割り当てからなら、ファイルサーバに接続することが可能なので、現在はそのような方法で、ファイルを共用しています。 又、クライアントにPC-98が2台ありますが、それらからはファイルサーバが問題なく見えています。 設定に、間違いがあるようでしたら、ご指摘、ご教授お願いします。

  • LANがうまくアクセスしない

    XPのPC3台でLANを組みましたがPC1を起動しないと他のPC2とPC3相互間でアクセスできませんPC1とPC2または、PC1とPC3は他の一台が起動していなくってもアクセスできます。プロトコルはTCP/IPとNWLinkIP/SPX/NetBIOSとNetBEUIプロトコルを使っています。MEの時はどの2台だけでもアクセスできていたのですが、(NetBEUI使用していました)XPではPC1が中心になってるようです。ちなみにTCP/IPとNetBEUIだけではどうしてもLANが組めませんでした。何とかPC2とPC3だけで3台とも起動しないでも共有が使えるようには出来ないものでしょうか。宜しくお願いします

  • MSDEをスタンドアロンで使用しているのにネットワークエラー

    MSDE1.0をスタンドアロン端末で使用しておりますが、アプリ(VB6で作成)を起動した状態で、LANケーブルを挿し直すと、ネットワークエラーが発生してしまい、異常終了します。 どなたか、解決方法を教えていただけませんでしょうか。 なお、当方の環境は、 OS:WindowsXP SP2 プログラミングツール:VB6.0 データベース:MSDE1.0 SP4(SP2でも同様でした。) データベースの接続方法は、ADOを使用しています。 以上、よろしくお願いします。

  • DHCPクライアント

    ネットワークをワークグループで使用(NETBEUIのプロトコル)していて、クライアントで、かってにIPアドレスが取得されてしまった。(TCP/IPは、インターネットプロバイダCDでインストールされてしまってる)以上の、条件下で、固定IPアドレスが指定してある別クライアントとIPアドレスの競合が発生した。改善策をおしえて下さい。

このQ&Aのポイント
  • TS-8530プリンターの専用インクであるBCI-331.330は入手が難しいため、代替品のBCI-381.380の使用について疑問がある。
  • BCI-381.380をTS-8530プリンターに挿入した場合、印刷はできるがインクの情報表示やプリンターの故障の可能性がある。
  • TS-8530プリンターのインクに関する疑問について詳しい情報を教えてください。
回答を見る