はじめまして、煤田 弘法と申します。今回渋谷マークシティで行われた「パフォーマンスセミナー第2回」に参加しました。
普段、SQL Serverを使用したホテルシステム等を開発しています。最近システムが急に遅くなるなどの現象が頻発していて困っていたので、何か解決できる手掛かりが見つけられるのではないかと思い、参加させていただきました。
内容は2部構成で、1部目がインテルの池井さんの64ビットアーキテクチャのセミナー「インテル(R)アイテニアム(R)2 基本講座〜64ビットアーキテクチャの基本」、2部目が(株)ANTの熊澤さんの「SQL
Server サーバとクエリチューニング」でした。
●「インテル(R)アイテニアム(R)2 基本講座〜64ビットアーキテクチャの基本」
講師:池井満氏
正直なところ1部目のアイテニアムについては、このセミナーで目にするまでは、言葉さえ知りませんでした。しかしながら、今回のセミナーで基本的なことは理解することができました。
まずはItanium(アイテニアム)は32bitの自然な拡張を行ったものではなく、現在のアーキテクチャにおいてボトルネックとなっている、パフォーマンスを制限する要因を解消するための革新的なアーキテクチャを使用しているということです。
まず現在のアーキテクチャでは
「並列性を十分に生かすことができない」
「分岐予測ミスによるペナルティが少なくなく、プロセッサのリソースを十分に生かすことができない」
「ソフトウェアのモジュール化がスタンダードになっていることによる、オーバーヘッドの増加」
「キャッシュミスによるペナルティの増加」
などのパフォーマンス制限の要因が挙げられます。
上記の要因を解消するために開発されたのがEPIC(Explicitly Parallel Instruction Compution)です。
EPICは
「プレディケーションにより分岐ミスを排除し、並列性を高める」
「データスペキュレーションにより命令の配置を最適化し、命令レベルの並列性を高める」
「ソフトウェア・パイプラインによりループの複数の繰り返しを同時に実行する」
というような特徴を持つ革新的なアーキテクチャです。 また、ItaniumからItanium2へは下記のような点などにおいて改良されていてさらにパフォーマンスが向上したということです。
「実行ユニットの増加したことにより、クロックあたりの実行する命令数を増加させた」
「L3キャッシュをダイ上にのせ、転送速度を向上」
更に既存のソフトウェア(IA-32アプリケーション)もItaniumはIA-32デコーダを備えていることにより、変更することなく実行可能であり、IA-64アプリケーションへも簡単な手順で移行可能となっています。
これは、開発者にとっては非常にありがたいことです!
1部の内容については、あまり知ることのない(?)CPU内部の構造に触れ、その高速化へのアイディアなどはSEの私にとっても非常に有益なものでした。
●「SQL Server サーバとクエリチューニング」
講師:熊澤幸生氏
こちらのセミナーついては、冒頭に述べましたが業務上結構悩んでいる部分が多かったので、非常に楽しみでした。
今までSQL Serverを業務で使用していたので、SQL Serverについてはそれなりにわかっていたつもりでした。しかし、セミナーの内容は熊澤さんの実業務からの豊富な経験に裏付けされた内容だったので深く考えさせられる部分が多々ありました。
内容としては、まず下記のような基本的な用語の説明と、実際にどのように設計等を行えば良いかというポイントの説明でした。
「レスポンスタイム」
「データベース設計」
「トランザクション設計」
「クエリ・チューニング」
単純な用語としては業務や資格試験の勉強の中で聞いたことがあるものばかりでしたがUpdate In Place処理や、自動採番時のホットスポットなどについては、まったく意識したことがありませんでした。そのような内部構造も十分に考慮した上で設計をしなければならないのだということに気づきました。
また、物理設計における必要なカラムだけを使用して非クラスタ化インデックスとする「カバレージ・インデックス」については、その方法と効果にはまさに「目からうろこ」!
また次はサーバーのチューニング、パフォーマンスモニタ、SQL Profilerの細かい使い方等についての説明が続き、最後にチューニングのデモでした。
パフォーマンスモニタ、SQL Profilerについては知ってはいたもののあまり有効活用したことがなかったのですが、パフォーマンスモニタの重要なカウンタや、SQL
Profilerを使用した分析の方法など、細かな使い方を聞き実際に業務でも試してみようと思いました。
また、チューニングのデモはまさには「百聞一見に如かず」につきます。また、使用したSQL等をダウンロードを行えるとのことなので、非常に感謝しております。
今回は基本的なことでありながら見落としたり、知らなかった部分を気づかせてもらった重要なセミナーでした。また、自分の求めていた糸口のいくつかを見出せたセミナーでもありました。各90分のセミナーでしたが内容が濃くあっという間に過ぎてしまい、もう少し長くても良かったような感じがします。
|