![]() |
SitePoint: New Articles, Fresh Thinking for Web Developers and Designers |
Kevin Yank氏がSitePointにおいて、Free Performance with MySQL Table Typesのタイトルのもと、実際にSitePointのイベントに関連して発生したMySQLのパフォーマンス問題をどのように考えて解決していったかを紹介している。データベースパフォーマンスの改善事例として興味深い。
SitePointはMiles Burke氏がまとめた書籍「The Principles of Successful Freelancing」の無償PDFを、Twitterのフォロアになれば手に入れられるというキャンペーンを実施した。Twitterの利用制限を避けつつ使いやすい仕組みを提供するために、最終的に、今のスタイルの実施形式に落ち着いたという。このあたりの流れの詳細はFree Performance with MySQL Table Typesにまとまっている。実装では、PHPで使うセッションデータをMySQLに保持する仕組みが採用されている。
実際にイベントがはじまると、MySQLサーバの負荷が異常に高いものになり、まともにサービスが提供できない状況になったという。開発チームは当初、テーブルの種類を指定せずにセッションデータを保持するテーブルを作成した。この場合、MyISAMストレージエンジンが使われることになる。MyISAMストレージエンジンはいくつかの機能をサポートしないことでシンプルに、そしてパフォーマンスを発揮できるようにしたもので、多くのケースで適切なテーブルだと考えられている。
しかし今回のケースでは、テーブルレベルでロックをかけるというMyISAMの特徴がそのままパフォーマンスの低下につながってしまったという。細かにセッションのデータをやり取りするような使い方では、MyISAMテーブルでは性能が発揮できなかった。そこで解決方法としてInnoDBに焦点があてられる。MySQLはほかにも多くの機能をサポートしたInnoDBストレージエンジンを採用している。ただし、InnoDBは優れた機能を提供するが、MyISAMと比べるとパフォーマンスが発揮できないとみられている。
しかしながら、行レベルでロックをかけることができるInnoDBの性能が今回の用途にはマッチしており、テーブルの種類をMyISAMからInnoBDに変更することで、負荷は低下し、許容できるレベルで動作するようになったと報告されている。
さらに開発チームはテーブルの種類としてメモリストレージエンジンを検討。メモリストレージエンジンにはテーブルレベルでロックを実施するというMyISAMストレージエンジンと同じ懸念があったものの、実際にInnoDBからメモリストレージエンジンへ変更したところ、実質的に負荷をほとんどなくすことに成功したと説明されている。ただし、メモリストレージエンジンはディスクへ書き込まないためシステムが不慮にリスタートした場合などにデータを失う可能性があるほか、性能を発揮するためにテーブルに含められるレコードの型やサイズに制限があるため、万能薬というわけではない。
Kevin Yank氏はこうした経験を踏まえた上で、MySQLのパフォーマンスを検討するときは、ストレージエンジンにどれを採用するかを考える時間を設けた方がいいとアドバイスしている。
| 仕事がないときにやるべき7つの作業 [2009/9/7] |
| 契約書で注目すべき7つの条項 [2009/8/31] |
| 契約するつもりのある顧客を見分ける方法 [2009/8/27] |
| モバイルオフィスを実現する7つのステップ [2009/8/24] |
| 顧客との交渉で使える5つのテクニック [2009/8/21] |
| 金曜日、帰宅前にやる6つの仕事テクニック [2009/8/20] |
| CSSシステムフォントとシステムカラーを使う方法 [2009/8/12] |
| ToDoを活用する10の方法 [2009/8/7] |
| PHP 5.3の名前空間を使う方法 その2 [2009/7/16] |
| PHP 5.3の名前空間を使う方法 [2009/7/15] |
| IVIA、「IT検証フォーラム 2013」を中野コングレスクエアにて7月5日に開催 [17:30 6/20] |
| 早稲田大学とゼンリンデータコムが共同で学生の起業家支援 [15:58 6/20] |
| 東北ずん子がボーカロイド化クラウドファンディング - 「わたし、気になります」 [15:07 6/20] |
| 世界最速のエンタープライズ向けハードディスク登場 [15:05 6/20] |
| デル、プランニング支援や診断データの可視化を行う新サポートサービス [13:30 6/20] |
|
IVIA、「IT検証フォーラム 2013」を中野コングレスクエアにて7月5日に開催 [17:30 6/20] エンタープライズ |
|
平田薫、ピース・綾部との濃厚キスシーンに「アゴまで食べられちゃうかと」 [17:30 6/20] エンタメ |
|
急激に膨らんだ先物取引がもたらしたもの [17:29 6/20] ライフ |
|
恵安、バッテリ容量を増やしたAndroid 4.2搭載の7型タブレット「M702S LB」 [17:28 6/20] パソコン |
|
サンコー、乾電池とUSBで動作する卓上扇風機「USB&電池どっちでもFAN」 [17:26 6/20] 家電 |
4つの診断で、自分の適性を見つめなおそう!
働くこと・挑戦し続けることへの思いを綴ったインタビュー
あなたにピッタリのアドバイスを読むことができます。
転職に必要な情報が収集できます
企業からアプローチのメッセージが届きます。