• Showing Page History #49705
  • Showing Page History #49176

Show page source of インテル_コンパイラーの実力を測る――インテル_コンパイラー版MySQLは本当に速いのか?_p2 #49705

[[PageNavi(NavigationList)]]



==== インテル コンパイラー版MySQLのパフォーマンスを見る ====


 データベースのベンチマーク手法には大規模なものから簡易的なものまで様々なものがあるが、今回はMySQLに付属している「sql-bench」というベンチマークツールを利用した。sql-benchはPerlで記述されたベンチマークツールで、9つのベンチマーク項目が用意されており('''表1''')、データベースに対してさまざまなSQLコマンドを発行してその実行時間を測定するものだ。SQLコマンドの発行はシングルスレッドで行われるので、データベースがどの程度の負荷に耐えられるかを測定する、というよりも、データベース自体の処理速度を計測する目的で利用されることが多いベンチマークである。また、SQLコマンドの種類ごとに処理にかかった時間を測定できるため、どのような処理が得意でどのような処理が苦手なのか、という傾向をつかむこともできる。
{{{ html
<h6>表1 sql-benchに用意されているベンチマーク項目</h6>
<table class="wikitable" border="1">

<tr><th>ベンチマーク項目</th><th>説明</th></tr>
<tr><td>alter-table</td><td>テーブルに対して多数のフィールド追加/削除を行うテスト</td></tr>
<tr><td>ATIS</td><td>複数のテーブルに対して多数のselect文を発行するテスト</td></tr>
<tr><td>big-tables</td><td>巨大なテーブルに対してアクセスを行うテスト</td></tr>
<tr><td>connect</td><td>サーバーへの接続速度を評価するテスト</td></tr>
<tr><td>create</td><td>テーブル作成の速度を評価するテスト</td></tr>
<tr><td>insert</td><td>テーブルへのデータのinsert速度を評価するテスト</td></tr>
<tr><td>select</td><td>select文のパフォーマンスを評価するテスト</td></tr>
<tr><td>transactions</td><td>トランザクションの速度を計測するテスト</td></tr>
<tr><td>wisconsin</td><td>Wisconsinベンチマークを行うテスト。SQL文の実行速度を計測できる</td></tr>

</table>
}}}


 今回のベンチマークには、CPUとしてCore 2 Duo(2.33GHz)を搭載したLinuxマシンを使用した。OSにはDebian GNU/Linux 5.0を使用している('''表2''')。また、MySQLの設定は基本的にはデフォルトのままだが、バッファ/キャッシュサイズについては'''表3'''のように変更している。ベンチマークはそれぞれ3回ずつ実行し、その平均をベンチマーク結果とした。なお、今回のベンチマークではデータベースとしてMySQLデフォルトのMyISAMを使用しているため、トランザクションに関するベンチマークは行っていない。そのほかベンチマークの詳細な手順については、[#column1 コラム]を参照してほしい。
{{{ html
<h6>表2 ベンチマークに使用したPC環境</h6>
<table class="wikitable" border="1">

<tr><th>構成要素</th><th>スペック</th></tr>
<tr><td>CPU</td><td>Core 2 Duo E6550(2.33GHz)</td></tr>
<tr><td>OS</td><td>Debian GNU/Linux 5.0</td></tr>
<tr><td>メモリ</td><td>2GB</td></tr>
<tr><td>HDD(OS)</td><td>Seagate Barracuda 7200.10(250GB)</td></tr>
<tr><td>HDD(DB)</td><td>Maxtor !DiamondMax Plus 9(80GB)</td></tr>

</table>
}}}
{{{ html
<h6>表3 MySQLの設定(抜粋)</h6>
<table class="wikitable" border="1">

<tr><th>設定項目</th><th>値</th></tr>
<tr><td>key_buffer_size</td><td>860MB</td></tr>
<tr><td>table_cache</td><td>512</td></tr>
<tr><td>sort_buffer_size</td><td>128MB</td></tr>
<tr><td>read_buffer_size</td><td>100M</td></tr>
<tr><td>read_rnd_buffer_size</td><td>96MB</td></tr>
<tr><td>myisam_sort_buffer_size</td><td>128MB</td></tr>
<tr><td>thread_cache_size</td><td>64</td></tr>
<tr><td>query_cache_size</td><td>256MB</td></tr>

</table>
}}}


[[PageNavi(NavigationList)]]