MTを使ったサイト構築テクニック (2): ネタフルにおける再構築チューニング
今回は、コグレさんのTwitterをきっかけに、再構築の時間が9時間を超える (テスト環境での実測値) というネタフルの再構築チューニングをお手伝いしたので、それをご紹介します。
9時間の再構築が1時間っ!なっなんですとっ!
ロベルト・モレノでまあまあ満足してたのにミハエル・シューマッハー見つけちゃったフラビオ・ブリアトーレと同じくらいの衝撃を受けたのでさっそく本ブログで検証してみました。
まあ本ブログはだらだらと長く続いてはおりますが、記事数は400程度とネタフルとは規模が全く違います。が、とりあえず手を動かしてみる事が大事かなと。
まず、現在の状態での再構築時間を計測してみる。
本ブログが設置されているのは最先端IT テクノロジー企業ライフコーポレーションの最先端テクノロジーの粋(スィ)を投入して独自開発した最先端コマンダトーレスーパースペシャルV12気筒仕様専用サーバー・・・。
うそ、ほんとのところは会社で用済みになったPCの部品を寄せ集めて作ったジャンクサーバです。
今ブログ書いてるデスクの裏に置いてある。
CPU:忘れたけどたぶんPen4だった気がする。
メモリ:1G積んだ記憶がある。
OS:Fedora8(だったよな・・・)。
MySQLのストレージエンジンはMyISAM。

11分50秒。
とりあえずの叩き台。
インストレーションLAPとしてはこんなもんか?
次に
mysql> ALTER TABLE [テーブル名] ENGINE='InnoDB';
ストレージエンジンをMyISAM→InnoDBへ変更。
Yagishitaさんによると、
シックス・アパートのエンジニアが以前試験したところ、MyISAMよりもInnoDBの方がパフォーマンスがいいという結果を聞いていたので、ワクワクしながら、次のコマンドを実行してInnoDBに変更していきます。
とのことで、当方もワクワクしながら計測してみる。
デフォルトでは innodb_buffer_pool_size は8MBになってました。

11分40秒。
まあ若干速くはなってますが、高速化なんていうほどのものではない。
35億くらい払ってキミ・ライコネン乗せたのにフェリペ・マッサとどっこいどっこいで複雑な気分のフェラーリの監督:ジャン・トッドと同じ気分。
innodb_buffer_pool_read_requests と innodb_buffer_pool_reads の値を見たヒット率は91.9%。
次にinnodb_buffer_pool_size を16MBにしてみる。

11分39秒。
最終的にこれが本日のファステストLAPになるのですが殆ど誤差ですな・・・。
innodb_buffer_pool_read_requests と innodb_buffer_pool_reads の値を見たヒット率は83%・・・。
落ちてるし。
innodb_buffer_pool_size を32MBまで上げてみる。

11分45秒。
悪化した。
innodb_buffer_pool_read_requests と innodb_buffer_pool_reads の値を見たヒット率は93.5と上がってはいるんですが。
本ブログの環境ではこのあたりいじってもあまり高速化はしなそうな雲行きなのでこの辺で。やっぱ今はエンジンよりもエアロかね。

コメントする