集計時のCPU100%

解決


ポンタ  2006-06-01 01:36:05  No: 131649

【環境】
・VB6 SP6
・サーバー1台
・クライアント5台

1年間の集計をするプログラムがあります。
それを実行すると、サーバーのCPUが100%になってしまい、
他のクライアントからのアクセスが非常に遅くなってしまいます。

集計をする時に、CPUが100%にならないようにするにはどうすればいいのでしょうか?
(例えば)CPUの負荷率を操作できるとか・・・

宜しくお願いします。


ポンタ  2006-06-01 01:37:59  No: 131650

【追加です】
・SQL7.0(データベース)


(><)  2006-06-01 01:40:48  No: 131651

・・・これVBのことなんだろうか@@;

サーバーを強化するとか・・・?
プログラムの見直しをしてなるべく処理を軽くしてみるとか?


medaka  2006-06-01 02:23:31  No: 131652

集計前のデータをクライアントに持ってきてクライアントで集計するとか
読むのに時間かかるでしょうしクライアント側がCPU100%になるかもしれませんが・・・


我龍院忠太  2006-06-01 02:28:25  No: 131653

思いつきで申し訳ないが、SetThreadPriorityで集計プログラムの
スレッドの優先順位を下げたらどうかな。
上手くいく保証は無いですが。


ポンタ  2006-06-01 02:34:57  No: 131654

皆様お返事有難うございますm(__)m

やはり、プログラムを見直す必要がありそうですね^^;
但し、我龍院忠太の処理も面白そうなので
試してみる価値があるかもしれません^^

出来ましたらまたこの掲示板にてご報告させて頂きます^^

どうも有難うございましたm(__)m


VB梅  2006-06-01 03:15:31  No: 131655

解決済みになっていますが、
わたしが行っているのはAPIのSleep(1)を
Loopしているところに入れてます。

ところどころに入れたり、Sleepの時間を多くしたりすることで
CPUの占有率を下げることできます。
当然、処理速度は遅くなります。微々たるものだと思いますがね

これですね^^
Private Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMillsecounds As Integer)

私の作るソフトには必ずこのAPIを組み込んでいますね^^


ナナシ  2006-06-01 18:25:34  No: 131656

回答してもらって呼び捨てか…と


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加