• 締切済み

サーバーのソフトが遅いのですが。

windows2000サーバ上にVisualBasicで作成したプログラムをクライアントパソコンで運用しているのですが、ここ半年ほど、急激に速度が遅くなってしまいました。サーバでプログラムを使用すると、ものの 数秒で結果が出る計算が、クライアントのパソコンだと2分以上かかってしまうのです。プログラムを作成したものが退職してしまったため(当時作成した運用マニュアルがあるのでそれをみていろいろ検討したのですが)詳しい原因がよくわかりません。ちなみにクライアントのパソコンのOSはすべてXPです。どなたか、原因に心当たりがある方が、おられませんでしょうか。よろしくお願いいたします。

みんなの回答

  • riveron77
  • ベストアンサー率48% (180/370)
回答No.2

半年前にネットワーク的な変更はありませんでしたか? ・有線LANから無線LANになった。⇒有線LANにするとプログラムが速くなるか? ・ネットワーク的にクライアントPC⇒サーバー間に新しく機器を入れた。⇒その機器を外すと、あるいはネットワーク的に迂回すると、速度に変化が無いか? ・急激にプログラムを使うクライアントPCが増えた。⇒休日出勤して、プログラムを使ってみる。速度に変化があるか? 可能性は低いかもしれませんが、問題の切り分けの為にまずはクライアント⇒サーバ間を疑ってみては?これらの調査の結果、ネットワークは問題ないと判断して、そのあとクライアントPCを疑ってみては? 「半年前から」ということなので、クライアントPCは性能的には問題ない、との判断のもと調査した方がいいかと。#1さんの調査も有効ですが、速度に問題無い期間があったわけですから。 調べる方針として、ネットワーク同様、半年前に何か変えませんでした?ということがキモでは? ・ウィルス対策ソフトを新しいものにした。⇒古いものに戻してみて速度を調べてみる。私の勤務先では良くやる手です(汗) ・クライアントPCのゴミ箱は一杯ではないですか?⇒ゴミ箱一杯は速度低下を招きます(経験則ですw)。空っぽにして速度に変化が無いか、調べてみる。 ・試しに遅くなったPCのうち、1台をOS再インストールしてみる。 無線LANですとか、クライアントPCのCPU、メモリとかのスペック、OSとかの情報があれば、もう少し有効な情報が集まるかもしれません。

koda0729
質問者

お礼

ありがとうございます。そういえば、データバックアップ用のリンクステーションとかをネットワーク上に増設しました。ご回答を参考に調整してみます。

koda0729
質問者

補足

いろいろとありがとうございました。 あれから、ご回答をもとにいろいろやってみたところ、 どうも、一番新しいパソコンで(OSがw7なのですが) ひっかかっているようで、コマンドプロンプトでPING コマンドをたたくと、通信エラーが表示されます。 サーバーのプログラム自体にはアクセスできて 計算するのですが、これのせいで遅くなっているようなのです。 XPのPCではPINGコマンドは正常にかえってきます。 う~ん、ちょっとお手上げ状態です。

回答No.1

プログラムがサーバでは短時間で処理できるのであれば、とりあえずチェックするべきは、 ・メモリ使用量、スワップ領域使用量 ・CPU負荷 ・HDDアクセス の三つですね。タスクマネージャあたりで監視してみてください。 プログラムがパソコンのリソースを気にせず作られているなら、しょぼいパソコンではすぐにリソースが枯渇します。 「数秒で済む計算が数分かかる」というと、メモリがスワップ領域を使用しているために処理が桁違いに遅くなるケースを真っ先に考えますね。 そういう一般的なものでないなら、処理内容が分からないと何とも言えません。

koda0729
質問者

お礼

ありがとうございます。 本日は出張中ですが、帰社しましたら早速確認してみます。

関連するQ&A

  • 書き込みと読み取り速度

    読み取りと書き込みの速度について教えて欲しいのですが、 (1)サーバからクライアントへのコピー (2)クライアントからサーバへのコピー (2)が(1)の5倍くらい遅いのですが、通常の現象なのでしょうか? 45Mのファイルで(1)は5秒、(2)は30秒くらいです。 バックアップで大容量のファイルをクライアントからサーバにコピーするときに非常に時間が掛かって困っています。 ご存知の方がいましたらよろしくお願いします。 サーバ:Windows2003 Server クライアント:WindowsXP ActiveDirecoryで運用しています。

  • レンタルサーバで自作のVBプログラムを動かしたい

    レンタルサーバで、自作のVisualBasic V6で作成したプログラムを動かせのでしょうか? 私が利用を考えているドメインキングでは、Perlで作成したプログラムを(cgiで)動かせるそうです。

  • server2003でサーバーを構築したのですが・・・。

    会社のパソコンでserver2003を入れて1台サーバーを自作しました。 他のパソコンは、クライアントが8台あります。 そこで、サーバーにAccessで作成したシステムファイルを置いて、そのファイルを共有したいのですが、server2003の場合は各クライアントのパソコンを1台ずつ登録する必要があるようなのです。 しかし、そのやり方がわかりません。 教えてくださいませ。 ちなみに、クライアント側からはマイネットワークでサーバー機のアイコンがでてきます。 そのアイコンをダブルクリックすると、名前とパスワードを求める画面がでてきます。

  • プリンターサーバ上のプリンターが、クライアントから見えない現象について。

    NT4.0 Server をプリンターサーバーとして運用しています。 これに TCP/IP 印刷のプリンターを追加しました。 当然共有してあります。 NT4.0 WorkStationのクライアントからは、このプリンターは見えるのですが、95/98のクライアントからは見えません。 これって何が原因なのでしょうか? ※代替ドライバで Windows95 に設定してありません。それが原因でしょうか?

  • サーバでファイル名を変更するとロックがかかる

    ActiveDirectory環境で、Windows2000 Server のファイルサーバを運用しています。 ドメインユーザがクライアントパソコン(WindowsXP Pro)からファイルサーバ上のファイル名を変更した後、ファイル名変更や上書きコピーを行なおうとすると「ほかの人またはプログラムによって使用されています」とのエラーメッセージが表示されます。 ●このファイルをプログラムから開くようなことはしていません。 ●他のユーザがこのファイルを開いてはいません。 ●ファイル名を変更したドメインユーザがクライアントパソコンよりログアウトすれば、ロックは解除されます。 ●ロックされているとき、ファイルサーバの[コンピュータの管理]-[共有フォルダ]-[開いているファイル]にロックされているファイルが表示されます。 そこで右クリック→[開いているファイルを閉じる]を行なうと、一覧からはいなくなりますが、ファイル名の変更などでエラーはでて、ロック状態のままです。 原因をご存知のかたがいらっしゃいましたら教えていただけないでしょうか。よろしくお願いします。

  • Oracleへのリンクサーバー設定について

    お世話になります。 下記環境におきまして、SQL ServerよりOracleへリンクサーバーを作成しようとしたところ、 「リンクサーバー"XXX"のOLE DB プロバイダ"MSDAORA"のデータソースオブジェクトを初期化できません。 リンクサーバー"XXX"のOLE DB プロバイダ"MSDAORA"から、メッセージ"Oracle"クライアントと ネットワークコンポーネントが見つかりません。これらのコンポーネントはOracle Corporationから提供され、 Oracle Version 7.3.3(またはそれ以降)のクライアント ソフトウェアの一部としてインストールされます。 プロバイダは、これらのコンポーネントがインストールされるまで機能しません。"が返されました。 (Microsoft SQL Server,エラー:7303)」 となり、作成に失敗してしまいます。 SQL Serverには10gのOracleクライアントをインストールしてあるのですが、原因がわかりません。 どなたか、同じ原因を経験され、解決された方はいらっしゃいますか。 もし、お分かりでしたら、ご教授頂きたいのですが。 よろしくお願いいたします。 尚、SQL Serverは運用の関係上、Oracleクライアントインストール後、再起動は行っておりません。 環境 OS:Windows2003 DB:SQL Server 2005 Oracle:10g

  • サーバとの通信に適したプログラム

    VisualStudio2008のMFCプロジェクトにて、 クライアントPCとサーバ間での通信を行うプログラムを作成しようとしています。 クライアントPC側で、特定の命令を送り、 それを受け取ったサーバ側で、命令に沿って、 DBのデータを送ったり、単に文字列を送ったり、 サーバ内ファイルを送り、 クライアントPCがそれを受け取るという プログラムの仕様となります。 PCとサーバでの通信プログラムは初めてで、 通信自体も詳しくないため、ネットで色々調べている 段階なのですが、どういった通信プログラミングが 適しているのかが解りません。 CAsyncSocket、CInternetsession等、 色々あるようですが、上記のような環境/仕様の場合、 何が適しているのでしょうか? 通信については勉強中につき、 漠然としすぎているのかもしれませんが、 よろしくお願いします。

  • サーバーに送られたデータを計算して返す場合

    クライアントの方で「1+2」のデータをサーバー側に送信して、結果を返しなさいというプログラムを書くとします。 クライアント <html><body>ここにフォームと送信ボタン<br><br><center>XXX</center></body></html> サーバー側で計算した結果をクライアント側に書かれているXXXXという所に返したいとします。PHPで計算してサーバー側でクライアントと全く同じhtmlを書いてあげれば計算した結果を返すことができます。$iと$jはクライアントから <PHP? $z=$i+$j; print "<html>....<center>$z</center>..... というような(上は適当)PHPで計算した結果を所定の場所に埋め込んで、あとはPHPでhtmlを書き出せばユーザーからは計算された結果が返されたというようになります。 このコードは短いですが、商業用のページとかもの凄い量のhtmlのコードが書かれているわけですが、例えば1000行くらいのhtmlがあって、そのページの中で上記の簡単な計算のみ返すプログラムが欲しいとすると、サーバー側では同じ1000行文のhtmlとPHPによる計算が必要になりますが、わざわざ1000行もhtmlをサーバー側でやるのは面倒です。実際こういう場面ではどのように処理をするのが的確なんでしょうか?よろしくお願いします。

    • ベストアンサー
    • PHP
  • 回線が不通になったことを検知できるクライアントサーバソフト

    回線が不通になったことを検知できるクライアントサーバソフトというものを作りたいと思っているのですが、すでにそのようなソフト存在しますでしょうか?インターネットを使って、ある事務所から常にパケットを1秒に1回送信してもらってこちらのサーバで受信して回線が正常かを調べたいというものです。 sourceforge.jpとかでこのようなソフトで、ソースプログラムもこうかいされているようなものはないでしょうか。ご存じの方いらっしゃいましたらおしえてください。

  • Javaと他言語比較について

    Javaとその他の言語(例えばC/C++、VisualBasic、SmallTalk ObjectPascalなど)と比較をしてみたいと思うのですが。 ①数値計算機能比較(整数の計算、関数の計算、浮動小数点演算、円周率計算) ②通信速度比較(クライアントサーバプログラム)...C++のみです。 などのベンチマーク比較を考えておりますが。その他に有効な比較内容は有りますか? そして、上の①②でのテストでの注意事項(実行環境など)などがありましたらアドバイス お願いします。