- PR -

ストアドの処理速度について

投稿者投稿内容
masa
大ベテラン
会議室デビュー日: 2004/10/28
投稿数: 161
投稿日時: 2008-05-19 21:41
引用:

もこもこさんの書き込み (2008-05-19 18:15) より:

開発環境では、2倍の処理短縮が得られているので、ストアドにしてかなりの
高速化が得られたと思っております。しかしながら、それはあくまでこちら側の
意見なので参考にさせていただきます。

データは同じで、処理内容も同じ、Oracleのバージョンも同じ、
スペックは格段に上。なのに、開発環境のほうが数段に早い。




ストアドの効果はありそうですね。
ただ、負荷の閾値を超えたときに加速度的にレスポンスが悪化する可能性は高いです。

サーバーのインストールはもこもこさん自身がされたのでしょうか。
インストール時に「汎用」「DWH」のようにテンプレートが選べますが、それも同じでしょうか。
どれを選択するかによって、SGAや一時表領域の大きさが変わります。

マシン自体のスペックは高くてもOracleが使うリソースが抑えられていれば、
スペックを生かしきれないことになります。


_________________
............................................................................................
masa          blog 始めてみました。
[ track4 labo. ]
http://maasa.cside.com/blog/track4labo/
よっしー
大ベテラン
会議室デビュー日: 2007/05/17
投稿数: 143
投稿日時: 2008-05-19 23:09
もこもこさん、こんにちは。

引用:

ちなみに現在稼動しているシステムではSQLべた書きで1時間少々かかるため、
今回ストアドで時間短縮を計ろうとしていました。


ストアドでパフォーマンスUPというのはよくありますが、
この場合、まずはインデックスチューニングや、ループ処理がないか等の他の検討をすべきだと思います。
KOX
大ベテラン
会議室デビュー日: 2004/08/23
投稿数: 142
投稿日時: 2008-05-20 09:42
本番機と開発機の違いは何なのでしょうか。
(スペックではなく、設定など。)
その違いがレスポンスの差に変わっているかもしれません。

またIndexの再構築などは行っているのでしょうか。
トランザクションデータの場合、定期的にIndexの再構築を行わないと
レスポンスの悪化を引き起こす場合があります。
開発環境はデータ生成時に、きれいな形で入っているはずなので、
レスポンスが改善されているとか・・・
(上記ケースだとSQLを流しても本番より早いはずですから違うかも)
もこもこ
常連さん
会議室デビュー日: 2008/05/19
投稿数: 20
投稿日時: 2008-05-20 11:01

引用:-------------------------------------------------------------------------
saki1208さんの書き込み(投稿日時: 2008-05-19 20:56)より:

過去に経験したシステムでは、本番機と全く同一のスペックのマシンを使用した状態 で、チューニング前が20分、チューニング後に数十秒となったものがあります。
※これはアプリケーションのチューニングではなく、Oracle環境(バッファ等のメモリ
 割り当て)チューニングによる結果です。
-------------------------------------------------------------------------------

ご返答に感謝します。返事遅れて申し訳ありません。
ご指摘のように私等のシステムも数日前インデックスチューニングはいたしまして、
開発環境は効果が出たのですが、本番サーバはやはり何も変わらずじまいでした。
ちなみにテストサーバーを2台所有しているので2台のサーバーによりテスト実行しましたが、両方とも処理が終了しないので、何かサーバーによる障害なのでは?と、
未熟ながら思っているしだいでございます。

-------------------------------------------------------------------------------
masaさん度々ありがとうございます。

>ただ、負荷の閾値を超えたときに加速度的にレスポンスが悪化する可能性は高いです。

負荷というのはCPUへの負荷でしょうか?
言い忘れましたがサーバーのCPUはそこまであがらないのですがそういうものなのでしょうか?

>サーバーのインストールはもこもこさん自身がされたのでしょうか。

それが私がインストールしたわけではないのです。ですのでサーバーはスペックが良くて設定は同じものという認識しかしておりません。申し訳ないです。

>マシン自体のスペックは高くてもOracleが使うリソースが抑えられていれば、
>スペックを生かしきれないことになります。
これはSQLべた書きでも同じことが言えるのではないのでしょうか?
SQLべた書きでは開発機、本番機ともに同じか本番機が少し勝るくらいの速度がでます。

こうなればもうPLSQL自体にの問題でしょうか・・・?
ーーーーーーーーーーーーーーーーーーーーー----------------------------------------------------------
よっしーさん、こんにちは。
そしてご返答ありがとうございます。

>この場合、まずはインデックスチューニングや、ループ処理がないか等の他の検討をすべきだと思います。

ループ処理がんがんあるのですが、これはまずいのですか!?
カーソルでSELECTしたものをループさせているのですが・・・
返答お待ちしています。
-------------------------------------------------------------------------------
KOXさん、早朝よりありがとうございます。

>本番機と開発機の違いは何なのでしょうか。
>(スペックではなく、設定など。)
>その違いがレスポンスの差に変わっているかもしれません。

設定やDBサーバーも同じです。唯一違うとすれば開発機からDEBUG実行しているのと、
開発機から本番WEBサーバーにアタックして実行しているのかの違いでございます。

>またIndexの再構築などは行っているのでしょうか。
>トランザクションデータの場合、定期的にIndexの再構築を行わないと
>レスポンスの悪化を引き起こす場合があります。
>開発環境はデータ生成時に、きれいな形で入っているはずなので、
>レスポンスが改善されているとか・・・

インデックスの再構築はためしましたが、駄目でした。。
もこもこ
常連さん
会議室デビュー日: 2008/05/19
投稿数: 20
投稿日時: 2008-05-20 11:41

今発覚しましたが、サーバーはLinuxだということです。

すいません。。
れい
ぬし
会議室デビュー日: 2005/11/01
投稿数: 346
投稿日時: 2008-05-20 11:41
引用:

もこもこさんの書き込み (2008-05-20 11:01) より:
設定やDBサーバーも同じです。唯一違うとすれば開発機からDEBUG実行しているのと、
開発機から本番WEBサーバーにアタックして実行しているのかの違いでございます。



アタックはいけませんよ。

アタッチですか?
もしかして、本番機とアタッチしてストアドのデバッグしてますか?
もこもこ
常連さん
会議室デビュー日: 2008/05/19
投稿数: 20
投稿日時: 2008-05-20 12:11
れいさん返答ありがとうございます。

>アタックはいけませんよ。

>アタッチですか?
>もしかして、本番機とアタッチしてストアドのデバッグしてますか?

すいません。実行というのはシステムの実行であって、ストアド実行はASP.NETから
ストアドを実行させています。

アタックというのはシステムのURLを実行しているという意味で言ってました。
DEBUG実行というのはVisualStudioからデバックで実行という意味でいってました。

わかりずらくてすいませんです。。。

進捗はサーバーがLinuxということが判明したことでmasaさんが言っていた
引用:
--------------------------------------------------------------------------------

masaさんの書き込み (2008-05-19 21:41) より:
サーバーのインストールはもこもこさん自身がされたのでしょうか。
インストール時に「汎用」「DWH」のようにテンプレートが選べますが、それも同じでしょうか。
どれを選択するかによって、SGAや一時表領域の大きさが変わります。

マシン自体のスペックは高くてもOracleが使うリソースが抑えられていれば、
スペックを生かしきれないことになります。

--------------------------------------------------------------------------------

が怪しいと睨んでおりまして検証しております。




こあら
大ベテラン
会議室デビュー日: 2007/06/26
投稿数: 157
投稿日時: 2008-05-20 15:22
引用:

本番環境の統計情報は新しいものになっているはずです。しかしながら、万が一このようなことが原因だった場合は、開発PCで20分以下で終わる処理が、本番仕様テストサーバで60分以上などという結果が起こりうるのでしょうか?



起こりえます。
統計情報と実行計画について理解すれば、それが容易に起こることも理解できます。

あるテーブルについて統計情報が作成されているか?いつ作成されたか?は
> SELECT * FROM ALL_TABLES (もしくは USER_TABLES)
の LAST_ANALYZED で確認することができます。

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