F5 Networks, MySQLを利用してパフォーマンスを1000%向上

F5 Networks 概要

F5 Networks 社は、アプリケーション・デリバリ・コントローラのグローバル市場においてナンバー1のシェアを誇ります(Gartner ADC Magic Quadrant、2010年)。同社の顧客には、Fortune 500上位50社のうちの41社、固定およびモバイルのサービス・プロバイダの世界上位10社が含まれます。また、世界で上位15位までのすべての商業銀行、そしてその他1万6,000社以上の世界各国の組織も同社の顧客です。1996年の創業から、F5は30カ国以上で2,000名を超える従業員を抱えるまでに成長し、2010年には8億8,200万ドル以上の売り上げを達成しました。クライアントの端末やネットワークからアプリケーション・サーバー、データ・ストレージ、そしてその中間地点まで、情報がどこでやりとりされていても、F5のソリューションはその情報の管理点を提供します。このF5ソリューションによる管理により、組織は変化するビジネスの需要を見積もり、それに適応して調整することができます。MySQLにより、F5は顧客が求めるパフォーマンス、スケーラビリティ、柔軟性、費用効率を実現する、以下のようなF5製品を提供しています。

  • F5 BIG-IP製品:Local Traffic Manager、Global Traffic Manager、Link Controller、Application Security Manager、WebAccelerator。
  • その他のF5製品:FirePass、BIG-IP Virtual Edition、Web Accelerator、Application Security Manager、Enterprise Manager

ビジネスチャレンジ

F5製品が企業インフラストラクチャの詳細な情報と管理能力を提供しているように、F5のEnterprise Manager製品はF5デバイスに対する管理能力を高めます。これにより、複雑さの軽減とコストの削減を実現しながら、ユーザーは単一のコンソールから複数のデバイスを一元管理できます。Enterprise Managerアプライアンスには、複数のF5デバイスから現在のデータと履歴データを取り込んだ、160種類以上のカスタマイズ可能な指標があります。この指標を使用することで、F5の顧客は変化するネットワーク状況に迅速に対応できます。顧客はまた、パフォーマンスに関連する多数のデータを入手できます。Enterprise ManagerはInnoDBエンジンをトランザクショナル・データ・ストアとするMySQLを使用して、これらのデータの負荷をうまく処理しています。Enterprise Managerの開発チームは、統計グラフをリアルタイムで作成する、Performance Monitoring Module(PMM)と呼ばれる新しい統計的分析モジュールを開発していました。

Enterprise ManagerとF5にとって、PMMは競争力の大幅な強化につながるものでした。ただし、その実現には、単一のディスクに制限されたハードウェアのデバイスの一部として、1分間に何千という新規のレコードを収集できる必要がありました。1台のディスクだけで、PMMは最大30~50ギガバイト(GB)のデータを処理でき、RAID(Redundant Arrays of Independent Disks)をディスクI/O(入力/出力)の促進手段として標準で使用しました。その結果、この課題は、古いデータを迅速に取り除く手段の発見につながり、50GBのデータベースの複雑なスキーマに膨大な量の新規レコードが日々書き込まれることになりました。

MySQLソリューション

代替品の考慮

Enterprise Development Managerを務めるBruce Butterfieldは、「F5 Enterprise Managerで使用したMySQLの感触は非常に良いものでした。そして、PMMでも使用したいと考えました」と言います。Enterprise Managerの非常に早い時期のリリースでは、PostgreSQLが使用されていましたが、チームはMySQLに変更することにしました。チームは以前から、大手企業の支援を受けるデータベースの使用を望んでおり、その意見は変わらなかったのです。

Butterfieldとチームは当初、MySQLで多数の索引を使用して、削除するためのレコードを探し出すことで、PMMのデータ課題に対処しようとしました。しかし、それだけで単独のディスクの処理能力を使い果たしてしまいました。チームはまた、この手法では、削除によって実際に対象列のデータが処理され、新しいデータのために使えるようになるという保証はないことを把握していました。

MySQL 5.1でのパーティショニング

MySQL 5.1がデータのパーティショニングに対応することを知ったのは、チームがすでに別のデータベースの使用を考え始めていた後でした。この機能により、PMMはレコードに日付スタンプを記録し、アルゴリズムを使用して、タイムスタンプの期間や「時期」を基にデータを分割して削除できます。これにより、データ分析のパフォーマンスは大幅に簡素化されて改善し、また、1つのレコードや列ではなく、パーティションで分割されたデータ全体のテーブルを一度に削除することが可能になりました。MySQLのMyISAMストレージ・エンジンを使用することで、トランザクションの処理時間を大きく圧縮し、パフォーマンスをさらに向上させました。Butterfieldとそのチームは自分たちのソリューションを見つけたのです。

「PMMは、MySQLとそのパーティショニング機能により実現しました。そして、Enterprise Managerを競合製品と差別化するための要因こそがPMMと言えます」
F5 Networks社
Development Manager
Bruce Butterfield 氏

MySQLの技術的利点

パフォーマンスとスケーラビリティ

「MySQL 5.1のパーティショニングを使用することで、PMMのレコード処理能力は1秒あたり最大3,500件から2万2,000件に増加し、パフォーマンスが6倍向上しました。現在、パフォーマンスはパーティション前のレベルと比べて10倍となっていますが、十分なテスト用マシンがないため、その上限はまだ確認できていません」とButterfieldは言います。同氏は、単一の挿入文で複数のデータ列を挿入できるMySQLの能力に感銘を受けました。「それだけでも、効率が8~9%向上しました」

複数のストレージ・エンジン

Enterprise ManagerチームはMySQLの複数のストレージ・エンジンを利用して、非常に調整の行き届いたソリューションを開発しました。「私たちは、フロントでのクエリ実行用に(トランザクション対応)InnoDBエンジンを、迅速なデータ挿入のためのバックエンド用にMyISAMをそれぞれ使用しています。MySQLにパーティショニングがなかったら、私たちのニーズを満たすために独自のストレージ・エンジンを構築しなくてはならなかったでしょう。(独自のストレージ・エンジンを使用するという)オプションがあり、また、MySQLではそれを実行するのが比較的簡単である点を気に入っています」(Butterfield)

信頼性と品質

ButterfieldとそのチームはMySQLの確かな信頼性と品質に満足しています。「MySQLに遡る可能性のあるサブケースは1つもありませんでした。また、新しいリリースでも何一つ破損することなく、機能の改善だけを享受できる点にも感心しています」(Butterfield)

標準サポート

MySQLがACID準拠であり、標準SQLを使用し、ストアド・プロシージャをサポートして、強力な承認モデルを採用しているという事実は、Enterprise ManagerとPMMの両方にとって非常に重要でした。チームはまた、MySQLによる外部キーのサポートも評価しています。このサポートにより、ビジネス・ロジックをアプリケーションに実装する必要がありませんでした。

管理

Butterfieldは、MySQLの管理について、「多くのことをする必要はありません。MySQLはアプライアンスの一部として、順調に動作します」とまとめています。チームは、MyISAMによるバックアップの簡単さにとりわけ満足しています。「簡単なスクリプト記述で、リモートの外部データ・ストアに定期的にデータをコピーできます」

MySQLのビジネス面での利点

新しい製品モジュール、競争力の強化、新規市場

「PMMは、MySQLとそのパーティショニング機能により実現しました。そして、Enterprise Managerを競合製品と差別化する要因こそがPMMと言えます。現在私たちは、多数のF5製品を所有し、オブジェクト数も多く、構成の規模の大きい大型顧客のニーズに応えられます。パーティショニングがなければ、これらの大企業の顧客デバイスのサブセットからすべてのデータを収集するか、すべてのデバイスからデータのサブセットを収集するかのどちらかの選択しか残されていないでしょう。私たちの顧客は、利用レベルや問題が発生している場所、デバイスの設定が不適切な個所を確認することができ、それを通じてROIを大幅に向上させます」(Butterfield)

F5と顧客のニーズを満たす

「MySQLに関する全体的な感触は極めて良いものでした。MySQLの優れたプロセス設計は、パーティショニングなど、機能に対する私たちのニーズを満たしています。また、MySQLは非常に順調に動作し、顧客が再起動を必要とすることもありません」(Butterfield)」
Bruce Butterfield, Development Manager, F5