2010-04-09

パフォーマンスUP

別に、「仕事のパフォーマンス上げなきゃ」と言う話じゃないので、あしからず。

今作っているSAP R/3のAdd-on Program。
全部で、10個ぐらいのDBを読んで、帳票化するものなんだけど、とりあえず、出来た所で、Test実行....遅い。

ある程度、パフォーマンス上の改善は必要になるだろうとは思っていたけど、ここまでとは。

で、こうなったときに使うのが「実行時間分析」。これを使うと、"どこに"、"どれだけ" パフォーマンス喰っているかが判る。
で、出た結果を見ると....。有る、DBへのアクセスが全体の90%強。
いや、この結果を見て、思わず笑っちゃいました。

実際のアクセスは、このDBを中心にして、3つのDBをInner Joinしているのですが、MainとなるDBへのアクセスキーが、本来のKey項目ではないから、所謂Index検索ではなく、全件検索になっている事は判っていたので、コード書いてる最中も、「これ、マズいよなぁ」と思っていた所。なので、ある程度は、予想していたのですが....。いやはや。

対応策を考えたんですが、実は、同じDBに対してのアクセスが2箇所あって、しかも、そのアクセスキーは、1つを除いて、同じもの。だから、これを、1箇所にまとめてしまい、そこから、異なっているキーを使って、分割する。と言う方法を考えています。

こう言うとき、ABAPって不便なんですよね、他の開発言語なら自宅のPCに開発環境作ってテスト出来るけど、ABAPってR/3自体に組み込まれている様な形になっているので、簡単に環境作ってテスト出来ない。

一応、SAPのDevelopper Networkって所から、 "ABAP - Developer Edition" ってのをDownload出来るんだけれど、Installするだけで、32GBのDisk容量が必要で、今現在、HDDの容量の逼迫している身としては簡単にInstall出来ないのが"残念"な状態。

もっと、簡単に試せないもんですかねぇ。> SAPさん

あ、先の対策の件は、出来たらまた書こうと思いますので、はい。

0 件のコメント:

SSH Keyを作成してGitHubなどに接続してみる - Qiita

大事なことなので。 SSH Keyを作成してGitHubなどに接続してみる - Qiita : GitHubやGitLab上のリポジトリへgitコマンドでファイルをpushする時に、上手く接続出来なかったのでSSH Keyの作成からやり直してみました。これはその作業ログなので自分...