事例紹介

MySQL4.0から5.0へのバージョンアップとレプリケーション構成の追加で、高速安定稼動を実現

Webコミュニティサイトのサーバリプレースにあわせ、MySQL4.0から5.0へのバージョンアップとレプリケーション構成の追加を行いました。
MySQLをバージョンアップさせることで、レスポンスやシステム全体のスループットだけでなく、MySQL5.0の新機能を利用することで、従来よりもアプリケーションのメンテナンスコストを抑えることにも成功しました。

導入の背景と狙い

ユーザ数の増加に合わせ、低コストでシステム増強を
数年前にWebコミュニティサイトをMySQL4.0にて構築。ユーザ数の増加にはレプリケーション構成によるスケールアウトで対応していましたが、マスター機への更新処理が集中し、システム全体のレスポンスが悪化していました。そのため、ピーク時にはアクセス集中により一部の訪問者はアクセスできない状態となってしまいました。また、MySQL4.0ではサブクエリなど使用できない機能が多く、アプリケーションのメンテナンスにも支障をきたすようになってきたため、システムのリプレイスを決定しました。

システム概要

ライセンス料金は抑えつつ、ユーザ数増加にはスケールアウトで対応
当初、マスター1台、スレーブ2台のレプリケーション構成で構築。その後ユーザ数の増加に伴い、スレーブ機を2台追加しました。しかし、マスター機へのデータ更新要求の増加には対応できず、ピーク時にはアクセスできないユーザが発生していました。

導入前

導入前のシステム構成

そこで、マスターサーバを処理能力の高い最新のサーバにリプレイスし、マスターとスレーブの MySQL を 5.0 にバージョンアップすることにしました。また、マスター機の処理能力が向上するのに合わせて、スレーブサーバと AP サーバをそれぞれ4台づつ追加しました。

導入後

導入後のシステム構成

導入メリットと今後の展開

安価・高速に稼働
新システムへ移行後、システムは順調に稼働しており、旧システムで発生していたピーク時の処理遅延やアクセスできない状況は解消されました。スレーブ4台を追加するために、データベースのライセンスを4本追加購入することになりましたが、MySQLの採用により、他の商用DB製品にくらべライセンス料を低価格に抑えることができました。

MySQLの新機能
MySQL5.0にアップグレードしたことで、MySQL4.0では使用できなかったサブクエリや view、ストアドプロシージャなどの新機能が利用できるようになりました。これにより、アプリケーションのメンテナンスコストの削減やレスポンスを向上させることができました。

今後は可用性の向上を
現在、マスター機に障害が発生した場合は、スレーブ機をマスター機に変更することで対応していますが、この方法ではどうしてもシステムの停止時間が発生してしまいます。そこで、ダウンタイムの無いシステム構成を実現させるため、マスター機をクラスタ構成とするシステム変更を検討しています。スマートスタイルでは、オラクル社製「MySQL Cluster」、NEC社製「CLUSTERPRO」を扱っているので、各製品のメリットデメリットを比較検討し、お客様の要望に最もマッチしたクラスタ製品を提案することができます。

今後の展開

今後の展開

ページトップへ