sql >> データベース >  >> RDS >> Database

Geekbench3を使用したデータベースサーバーのパフォーマンスの評価

    データベースサーバーのプロセッサとメモリのパフォーマンスをすばやく評価および比較するための私のお気に入りのツールの1つは、PrimateLabsのGeekbench3です。 PrimateLabsは2013年8月16日に完全に書き直されたGeekbench3.0をリリースしました。最新バージョンは、Geekbench3.02です。

    Geekbenchの開発者であるJohnPooleは、Geekbench3について次のように説明しています。新しいテストは、暗号化、画像処理、信号処理、物理シミュレーションなど、さまざまなアプリケーションドメインを対象としています。 Geekbench 3には、Geekbench 2から完全に書き直された12のベンチマークテストも含まれています。これらのテストは、実際のアプリケーションと使用シナリオをよりよく表しています。」

    Geekbenchは、クロスプラットフォーム、プロセッサ、およびメモリのベンチマークであり、構成を一切必要とせずに(または許可せずに)、整数プロセッサと浮動小数点プロセッサの両方のパフォーマンスと、コンピュータのメモリパフォーマンスをわずか数分ですばやく測定します。 Geekbenchをインストールし、ライセンスのロックを解除してプログラムを実行するだけで、約2〜3分で結果が表示されます。次に、匿名で、またはGeekbenchアカウントを使用して、結果をGeekbenchオンラインデータベースにアップロードするかどうかを決定できます。設計上、GeekbenchはI/Oパフォーマンスを測定しません。


    図1:Geekbench3のメイン画面

    オタクベンチスコア

    Geekbench 3には、ベンチマークの27のテストのそれぞれの個別のスコアに加えて、全体的なシングルコアスコアと全体的なマルチコアスコアがあります。シングルコアスコアは、シングルスレッドプロセッサとメモリのパフォーマンスを評価するのに非常に役立ちます。これは、SQL Server OLTPワークロードにとって非常に重要です(ほとんどのOLTPクエリはシングルプロセッサコアでのみ実行されるため)。マルチコアスコアは、マシン全体のマルチスレッドプロセッサとメモリのパフォーマンスを評価するのに役立ちます。

    SQL Server 2012コアベースのライセンスでは、比較的高価なSQL Server 2012コアライセンスを購入する必要がある各物理プロセッサコアから、可能な限り最高のシングルスレッドパフォーマンスを確実に得られるようにする必要があります。 Geekbench 3シングルコアスコアは、シングルスレッドプロセッサとメモリパフォーマンスの両方をすばやく簡単に測定する方法の1つです。

    Geekbenchの使用シナリオ

    Geekbench 3の便利な使用シナリオの1つは、ソフトウェアまたはハードウェアレベルの電力管理が原因でプロセッサコアが抑制されていないことを確認することです。最新のIntelおよびAMDプロセッサは、現在のコア速度を下げることにより、負荷の高い負荷がかかっていないときに電力使用量を減らすことができます。これは、ラップトップまたはタブレットのバッテリー寿命を延ばすための良い方法ですが、ミッションクリティカルなデータベースサーバーには適していません。問題は、特に短時間のOLTPタイプのクエリの場合、パフォーマンスの低下を回避するために、プロセッサのコア速度が負荷の増加に十分に迅速に反応しないことです。

    既定では、Windows Server 2008以降は、最初にインストールされたときにBalancedPowerPlanを使用します。データベースサーバーで高性能電源プランを使用するには、この設定を必ず変更する必要がありますが、BIOSレベルのハードウェア電源管理設定がWindows電源プランを上書きする可能性があることに注意してください。これは、Windows PowerPlanがHighPerformanceに設定されていても、プロセッサのコア速度がプロセッサの定格基本クロック速度よりも遅くなる可能性があることを意味します。

    この問題は、無料のCPU-Zユーティリティ(図2を参照)を使用して、現在のプロセッサのコア#0の現在のコア速度を確認することで検出できます。現在のコア速度がプロセッサの定格ベースクロック速度よりも大幅に遅い場合は、ソフトウェアまたはハードウェア(あるいはその両方)の電力管理が有効になっています。最新のIntelプロセッサでは、負荷がかかっていない場合、これを理解するのが難しい場合があるため、Geekbench 3を使用して、プロセッサに大きな負荷をかけることができます。 Geekbench 3の実行中に、CPU-Zの現在のコア速度を監視して、テスト中にプロセッサがプロセッサの定格基本クロック速度以上で実行されていることを確認します。

    Intel Turbo Boost 2.0を使用すると、オペレーティングシステムがプロセッサ全体の電力、電流、および温度の仕様制限を下回って動作している場合に、オペレーティングシステムが最高のプロセッサパフォーマンス状態(P0)を要求したときに、個々のプロセッサコアを定格ベースクロック速度を超えて実行できます。これは、特にOLTPデータベースサーバーのパフォーマンスにとって効果的で便利な機能です。

    ハードウェアとソフトウェアの電源管理が正しく構成されていて、BIOSでターボブーストが有効になっている場合、Geekbench 3の実行中は、プロセッサコアが通常の基本クロック速度よりも定期的に高速で実行されるはずです(図2を参照)。および図4)。

    また、ハードウェアとソフトウェアの全体的な電源管理構成、および使用している正確なプロセッサーに基づいて、異なるGeekbench3スコアが表示されます。古い45nmIntelNehalemおよび32nmIntelWestmereプロセッサは、新しい32nm Intel Sandy Bridge、22nm Intel Ivy Bridge、または22nmIntelHaswellプロセッサよりも電力管理設定の影響を強く受けます。


    図2:実行中のDellPowerEdgeR720システムのCPU-Z表示Geekbench 3

    全体的なGeekbench3スコアとGeekbench3メモリスコアも、メモリの種類と構成の影響を受けます。たとえば、プロセッサ(メモリコントローラが配置されている場所)によっては、メモリモジュールの正確な数とスロットの正確な数にかなりの違いが生じる可能性があります。また、1333MHzメモリモジュール、1600MHzメモリモジュール、または1866MHzメモリモジュールのいずれを使用する場合でも違いがあります(1866MHzは今後のIntel Ivy Bridge-EPでサポートされます)。デルには、メモリを正しく構成するのに役立つ第12世代サーバー用のオンラインメモリ構成ユーティリティがありますが、Geekbench 3のメモリスコアを使用して、メモリ構成の変更後にパフォーマンスが向上していることを検証できます。

    図3と図5は、2つの32nm Intel Xeon E5-2670SandyBridge-EPプロセッサを搭載した2ソケットのDellPowerEdgeR720サーバーと、より新しく高速な22nm IntelCorei7を搭載したシングルソケットデスクトップシステムのGeekbench3の結果を示しています。 -3770K Ivy Bridgeプロセッサー(これもわずかにオーバークロックされています)。

    クロック速度が速いIvyBridgeシステムは、クロック速度が遅いSandyBridgeサーバーシステムよりもシングルコアスコアがはるかに高くなります。 Ivy Bridgeには、SandyBridgeと比較してパフォーマンスをわずかに向上させるマイナーなアーキテクチャの改善もいくつかあります。

    Geekbench 3の実行には約2〜3分しかかからず、プロセッサとメモリのパフォーマンスに関する豊富な有用な情報が得られます。データベースサーバーでGeekbenchを実行できない、または実行したくない場合でも(メンテナンス期間中、または本番環境にデプロイする前)、スコアのオンラインGeekbenchデータベースを利用して、目的のシステムに類似したシステムを見つけることができます。評価します。


    図3:Dell PowerEdgeR72064ビットGeekbench3の結果


    図4:Ivy BridgeCorei7のCPU-Z表示- Geekbench3を実行している3770Kデスクトップシステム


    図5:Ivy BridgeCorei7-3770Kデスクトップシステム64-ビットGeekbench3の結果


    1. OracleのPOWER()関数

    2. 設計データベースへの先史時代および現代のアプローチ

    3. Selectステートメントでの変数の宣言と設定

    4. ソケット'/var/mysql/mysql.sock'(38)を介してローカルMySQLサーバーに接続できません