web-dev-qa-db-ja.com

ハイパースレッディングとSQLServerおよびPostgreSQL

DBに関しては、ハイパースレッディングが「パフォーマンスキラー」であることを読みました。しかし、私が読んだものは、which CPUについては述べていませんでした。さらに、ほとんどの場合、I/Oが「10%未満のパフォーマンスに削減された」ことを示しています。

I/Oは主にコントローラーとディスクの機能であり、CPUではないため、これは論理的に意味がありません。しかし、バグが理にかなっているとは誰も言いませんでした。

私が読んだことはまた、SQL Server could 2つの並列クエリ操作を1つの論理コア(2スレッド)に配置し、それによってパフォーマンスを低下させると述べました。私は、SQLServerのアーキテクトがそのような明らかな誤算をしたとは信じがたいです。

誰かが、現在の世代のCPUでのハイパースレッディングが私が言及したRDBMSのいずれかにどのように影響するかについてのデータを持っていますか?

3
IamIC

私が読んだことは、SQL Serverが2つの並列クエリ操作を1つの論理コア(2つのスレッド)に配置し、それによってパフォーマンスを低下させる可能性があることも述べています。私は、SQLServerのアーキテクトがそのような明らかな誤算をしたとは信じがたいです。

これはSQLServerの問題ではありません。ハイパースレッディング仮想コアは、オペレーティングシステムの実際のコアとまったく同じように見えます。プロセスをプロセッサに釘付けにすることはできますが、スケジューラは、プロセッサのコアのどちらが本物で、どちらがハイパースレッディングであるかを単に認識していません...特に両方が技術的に本物であるため、特定のリソースを共有するだけです。ハイパースレッディングは、それぞれ2つのコア間で特定のアセットを共有することにより、「実際のプロセッサよりも安価なデュアルコアプロセッサ」を可能にするためにIntelによって開発されましたが、コストは、プログラムがこれについてまったく知識を持っていないことです。

新しいIntelCPUはハードウェア側の方が優れているため、Hypewr-Threadingは、現在のSQLServerのボトルネックとは見なされなくなりました。現在のIntelチップで実行されます。これは、主にIntelがハイパースレッディングを改善したためです。

http://www.Microsoft.com/whdc/system/sysperf/Perf_tun_srv-R2.mspx は、現在の2008R2チューニングガイドです。

http://ozamora.com/2010/09/sql-server-2008-r2-and-nehalem-processors/ NehalemとSQLServerに関するものがいくつかあります。

5
TomTom