- - PR -
処理の重いSQLを発行すると画面が固まってしまう
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-05-29 22:43
saki1208です。 サーバのスペックが低い(メモリ搭載量が少ない)にもかかわらず、まったく同じにチューニングして、スワップが発生してるとか... | ||||||||
|
投稿日時: 2007-05-30 00:04
Background で実行させて意味の無い progress bar を表示させる。
何回転もするやつ(笑)。 失礼しました。m(__)m _________________ | ||||||||
|
投稿日時: 2007-05-30 17:10
BackgroundWorkerは現在の開発環境だと使えないのです・・・。
便利そうだとは思ったのですが。 チューニングはやっていません。 サーバー管理に関しては導入部門に任せてあるので触っていません。 ほんとはその辺りも入ってやっていかないといけないんでしょうね。 アドバイスありがとうございました。 | ||||||||
|
投稿日時: 2007-05-30 19:01
saki1208です。
えぇっと... 言葉が足りてなかったようですね。 DBサーバのチューニングのことについて言及したのは、なごやさんが チューニングを実施したかしていないかではなく、任せてある導入部 門がチューニングをしていませんか? ってことです。 あなた自身がチューニングを行っていなくても、他人がチューニング を行っていれば、「チューニングしている」ってことですよね。 # スペックの高いサーバと同じ設定をスペックの低いサーバで実施す # れば、逆効果となる場合もあるということです。 # たとえ、チューニングという名目で行った設定ではなくても... ちなみに、スペックの高いサーバでは、どの程度のレスポンスかって どこかに書いてましたっけ? [ メッセージ編集済み 編集者: saki1208 編集日時 2007-05-30 19:02 ] | ||||||||
|
投稿日時: 2007-05-31 19:01
任せてある導入部門はおそらくチューニングしていません。
あと、スペックの高いサーバーを持つ他の部門では、 2,3秒で処理が終わります。 今回導入したところは10倍以上の処理速度がかかってます。 今回は、導入部門にサーバー更新までのあと半年我慢してもらうことにします。 | ||||||||
|
投稿日時: 2007-05-31 20:31
ひょっとして.NET Framework1.1だからですかね? BackgroundWorkerほど簡単ではありませんが、マルチスレッドって扱ったことなかったので、 勉強がてらこのページを参考に簡単なサンプルを作ってみました。 VB.NETですが…
ただし、私もマルチスレッドに関してはほぼ初心者ですし、このコードも完璧かって言われるとぜんぜん自信ないし、 このページにも書いてあるように、処理のマルチスレッド化はそれなりのリスクも伴うので、 遅い1部門のためだけに現在正常に動いているプログラムに手を加えるよりは、 サーバが改善されるまで我慢してもらう方がいいと思います。 | ||||||||
|
投稿日時: 2007-05-31 23:09
saki1208です。
ご理解いただけなかったようで... 残念です。 どんなにスペックが違おうと、標準の設定では多分10倍の差は出ないような... スペックの低いサーバは、そんなに古いサーバでしょうか? # 10倍もの差が出るとは... ぼのぼのさんのおっしゃる様に、基本的にはプログラムのせいではないので プログラムによる対応は行わない方がよいでしょう。 # しかし、10倍もの差は必ず不満としてあなたに跳ね返ってくるでしょう。 # 今現在は納得してくれるかもしれませんけどね。 | ||||||||
|
投稿日時: 2007-05-31 23:24
DBにもよると思いますが、この前MySQLでインデックスの貼り忘れをやってしまい、
かなり速度が遅くなりました。(テーブルを20個ぐらい結合する大きめのSQL) インデックスを貼ると1秒くらいで帰ってくるのが、 インデックスを貼り忘れただけで10分くらい帰ってきませんでした。 チューニング1つだけでこんなに変わることもあるのです。 ハードのせいにするのは簡単ですが、 何故遅いのかを突き詰めれば、大体問題点が分かると思います。 それから対策を立てればよいわけで。 原因が実はソフトだったりすると、ハードを新調しても同じことになりますよ。 |