【環境】
・VB6 SP6
・サーバー1台
・クライアント5台
1年間の集計をするプログラムがあります。
それを実行すると、サーバーのCPUが100%になってしまい、
他のクライアントからのアクセスが非常に遅くなってしまいます。
集計をする時に、CPUが100%にならないようにするにはどうすればいいのでしょうか?
(例えば)CPUの負荷率を操作できるとか・・・
宜しくお願いします。
【追加です】
・SQL7.0(データベース)
・・・これVBのことなんだろうか@@;
サーバーを強化するとか・・・?
プログラムの見直しをしてなるべく処理を軽くしてみるとか?
集計前のデータをクライアントに持ってきてクライアントで集計するとか
読むのに時間かかるでしょうしクライアント側がCPU100%になるかもしれませんが・・・
思いつきで申し訳ないが、SetThreadPriorityで集計プログラムの
スレッドの優先順位を下げたらどうかな。
上手くいく保証は無いですが。
皆様お返事有難うございますm(__)m
やはり、プログラムを見直す必要がありそうですね^^;
但し、我龍院忠太の処理も面白そうなので
試してみる価値があるかもしれません^^
出来ましたらまたこの掲示板にてご報告させて頂きます^^
どうも有難うございましたm(__)m
解決済みになっていますが、
わたしが行っているのはAPIのSleep(1)を
Loopしているところに入れてます。
ところどころに入れたり、Sleepの時間を多くしたりすることで
CPUの占有率を下げることできます。
当然、処理速度は遅くなります。微々たるものだと思いますがね
これですね^^
Private Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMillsecounds As Integer)
私の作るソフトには必ずこのAPIを組み込んでいますね^^
回答してもらって呼び捨てか…と
ツイート | ![]() |