- PR -

2003 Serverでソフトの処理速度アップを図りたい

投稿者投稿内容
rgorl
常連さん
会議室デビュー日: 2005/07/21
投稿数: 31
投稿日時: 2006-11-21 15:02
サーバーマシン上でソフトウエアを動かした時に処理速度が遅くて困っています。
OSが2003ServerなのでXP等に比べて処理速度が遅いのは解っているのですが、何か方法があるならできるだけ処理速度をアップしたいと考えています。
OSの設定や拡張ボード追加等で何とか処理速度のアップを図りたいのですが、いい方法が見つかりません。
スピードアップに結びつく手段のご教授をお願いします。

サーバーマシン: 日立HA8000(Xeon 2.8GHz 1個)
OS: Windows 2003 Server
ソフトウエア: データファイル解析ソフト(VBで作成)
        実験で測定したデータファイル(10MB位)を処理するソフトです。
        同じくらいのCPU でXPだと3分位の処理ですが、15分位っかってしまいます。


[ メッセージ編集済み 編集者: rgorl 編集日時 2006-11-21 15:14 ]
ue
ぬし
会議室デビュー日: 2005/05/07
投稿数: 581
お住まい・勤務地: 広島市
投稿日時: 2006-11-21 16:02
こんにちは。

プロセッサ スケジュール というオプションを変更してみてください。
ラジオボタンで [バックグラウンドサービス] が選択されている場合は [プログラム] に変更することでデータベース解析ソフトウェアのパフォーマンスが向上するかもしれません。
手順は TechNet の プロセッサ スケジュール オプションを変更する に載っています。

このオプションを [プログラム] に変更するとフォアグラウンドで動作するプログラムのパフォーマンスが向上する代わりにバックグラウンドで動作するプログラムのパフォーマンスは低下します。
ご注意ください。
_________________
上本亮介 (ue) @ わんくま同盟
Microsoft MVP for VSTO (Jul 2008 - Jun 2009)
Hello Another World!
.NET 勉強会 / ヒーロー島
rgorl
常連さん
会議室デビュー日: 2005/07/21
投稿数: 31
投稿日時: 2006-11-21 16:46
ueさん
こんにちは、早速のレスありがとうございます。

実は、「プロセッサ スケジュール オプションを変更する」をやってみたことがあるのですが、体感できる程の効果はありませんでした。
勿論、現在も「プログラム」の設定で使用していますが...。

関係ありそうな設定等を教えていただけると助かります。
また、ソフトウエアで自身のプロセスのCPU占有率をアップするような手法で対応できるようであれば解析ソフトウエアのソフト変更で対応したいと思っています。
そんな手法を何か御存知でしょうか?お願いします。

非武装エリア
大ベテラン
会議室デビュー日: 2004/03/03
投稿数: 202
お住まい・勤務地: 日本・たこ部屋
投稿日時: 2006-11-21 20:27
>同じくらいのCPU でXPだと3分位の処理ですが、15分位っかってしまいます。

同じくらいのCPUといって別のハードウェア上のXPでの数値と比較しても意味無いのでは?
本当に比較するなら、同一ハードウェア上でXPと2003Serverを比較して、その差を比べないと本当にOSの問題かどうか判断できませんよ。
(多分、同一ハード上なら3:15といったような値にはならないような気が...)
で、改善するにはハードウェアを一新するのが早道ですね。
ただ、個人的にはサーバで通常アプリを動かすのは関心しないので、やはり原則は
クライアントPC上で解析するのが基本と思います。
どうしてもサーバ上で行いたいなら、

・マルチプロセッサー化(できるだけ最新のもので)
・余裕あるメモリ
・高速なハードディスク
・高速なVideoカード(解析中に何らかの画面表示があるなら影響されますね)

としましょう。(要はWindowsを高速とするための普通の手法ですね)

ue
ぬし
会議室デビュー日: 2005/05/07
投稿数: 581
お住まい・勤務地: 広島市
投稿日時: 2006-11-22 00:35
ueです。
引用:

rgorlさんの書き込み (2006-11-21 16:46) より:

また、ソフトウエアで自身のプロセスのCPU占有率をアップするような手法で対応できるようであれば解析ソフトウエアのソフト変更で対応したいと思っています。


外からプロセスの優先度を上げる方法はあります。
スクリプトを使用してプロセスの優先度を下げる方法はありますか
これでパフォーマンスが劇的に改善するとは思えないですが...

コードのどの部分がボトルネックになっているのかを調べるのが解決への近道かもしれません。
_________________
上本亮介 (ue) @ わんくま同盟
Microsoft MVP for VSTO (Jul 2008 - Jun 2009)
Hello Another World!
.NET 勉強会 / ヒーロー島
unibon
ぬし
会議室デビュー日: 2002/08/22
投稿数: 1532
お住まい・勤務地: 美人谷        良回答(20pt)
投稿日時: 2006-11-22 08:34
引用:

rgorlさんの書き込み (2006-11-21 15:02) より:
ソフトウエア: データファイル解析ソフト(VBで作成)
        実験で測定したデータファイル(10MB位)を処理するソフトです。
        同じくらいのCPU でXPだと3分位の処理ですが、15分位っかってしまいます。


タスクマネージャーなどで、CPU使用率はすでに見られたのでしょうか?

もしも、100%に近い(またはマルチCPU相当ならば50%や25%等)ならば、そのプログラムがフル稼働していますから、もうそれが限界です。後は、PCが故意に遅い設定になっている(ウィルス対策ソフトウェアやリモート監視ソフトウェア等)のではないか、等を疑う位しか残っていません。

もしも、100%よりずっと低い値ならば、なにかの「待ち」が起きていますので、それを潰すことで対処可能です。計算の途中経過やデバッグ用のメッセージを、画面やファイルやネットワークなど出力したりすると、それが結構、待ちの要因になることもあります。

(また、目的のプログラム以外で PC 間に速度差はあるのでしょうか?ないのでしょうか?これは確認されたでしょうか?)

--
unibon {B73D0144-CD2A-11DA-8E06-0050DA15BC86}
wojisan
大ベテラン
会議室デビュー日: 2006/08/02
投稿数: 149
投稿日時: 2006-11-22 08:46
引用:

rgorlさんの書き込み (2006-11-21 15:02) より:
ソフトウエア: データファイル解析ソフト(VBで作成)
        実験で測定したデータファイル(10MB位)を処理するソフトです。
        同じくらいのCPU でXPだと3分位の処理ですが、15分位っかってしまいます。



十分なメモリー(2003の場合最大4GBですが)を搭載していますか?

同じくロックのCPUでもメモリーの容量が足らないと5倍10倍の時間がかかる場合が有ります。
仮想メモリーはいくら増やしても、結局は6桁以上遅いHDを使いますので実メモリーを最大搭載が一番早くなります。
oracle
常連さん
会議室デビュー日: 2003/12/04
投稿数: 29
お住まい・勤務地: さいたま
投稿日時: 2006-11-22 09:37
古典的な発想で申し訳ありませんが、、、過去にServerが遅かった経験から

メモリが足りなかった
 −−>>増設して対応

HDDのAccessが遅かった
 −−>>FreeSoftのHDDBenchで判明、
さらに調査したら、HDDのModeがPIOだった。
提供されているOSのDiskが二つあり、
推奨されていない方でセットアップしていた。

ネットワークが遅かった
 −−>>今回の件とは関係なさそうなので、、、略

以上、参考になれば、、、

スキルアップ/キャリアアップ(JOB@IT)