サイバーエージェントは、ブログサービス「Ameba(アメブロ)」のDBサーバーを増強した。5月末、従来は1ノードだったOracle Database 10gを3ノードのクラスタ構成に変更し、性能向上を図った。アメーバブログの5月のPV(ページビュー)は44.5億。「今後、100億PVの実現に向け、それに耐えられるシステム基盤を整えた」(新規開発局 最高技術責任者 佐藤真人氏)。
今回DBサーバーを増強したのは、ブログ記事やコメントを管理する管理系である。2004年9月のサービス開始以来、アメブロは会員数やPV、記事投稿数などを急ピッチで伸ばしてきた。この4月には、俳優の上地雄輔氏のブログ「神児遊助」が1日で23万を超えるユニーク・ユーザー数を記録。ギネス世界記録に認定された(写真)。
今回の増強作業は2007年6月に着手した。従来、Sun SPARCサーバー上のOracleには16CPU、32Gバイトのメモリー領域(SGA)を割り当てていた。しかし、人気のあるブログにリンクが張られるなどでDBサーバーの負荷が跳ね上がるため、性能向上に迫られた。
クラスタ化に当たっては、オラクルのクラスタリング技術「Oracle Real Application Clusters(RAC)」を採用。当初は、利用中のSolaris9/SPARCサーバーの数を増やそうと考えた。しかし、コスト負担が大きいと判断し、Red Hat Enterprise Linux 4.0/IAサーバーに移行し、3台(バックアップ機を除く)でクラスタ化した。IAサーバーにはそれぞれ8CPUを搭載。「移行前は、搭載してある16CPUを超える20CPU分もの負荷がピーク時にかかっていた。移行後は3ノードに搭載した24CPUのうち11CPU分程度で処理できている」(新規開発局 データベーススペシャリスト 渡部智和氏)。
システムは、ハードウエア回りのチューニングを日本IBMが、DB構築をアシストが支援した。3月の事前テストでは、Oracleの安定性確保が課題だった。「Red Hat Enterprise Linuxのhugepage機能などで改善させたが、Linux版Oracle 10gのトラブル情報が少なくて苦労した」(佐藤氏)。一方、RACのノード間でデータ同期を行う機能(キャッシュフュージョン)のオーバーヘッドはそれほど高くなかったという。
なお、ブログの参照系システムでは、オープンソースのDBMS「MySQL」を利用している。これは、2006年末から2007年1月にかけてOracleから参照系データを切り出して独立させた。