gihyo.jp » ADMINISTRATOR STAGE » 連載 » 使える!サーバ運用の実践テクニック » 第3回 「サーバ集約」を実行するための検証ポイント

使える!サーバ運用の実践テクニック

第3回 「サーバ集約」を実行するための検証ポイント

今回は,サーバを集約する際に行う検証について,物品の調達や環境の構築,項目の精査より実際の検証を実施し,本番機器調達の台数根拠と設定項目等に関する設計の一歩を踏み出す部分までを,実例に近い形で紹介したいと思います。

検証項目,結果数値に関しては可能な限り具体的に出そうと思います。これらはできるだけユーザ企業側がポリシーを持ち,主導的に実施するのが好ましいでしょう。

前回,VMware ESXiに関しても記載する予定としていましたが,ボリュームの関係上,次回とさせていただきます。

なぜ検証を行うのか?

前回までに,現行踏襲の基礎数値の定義付け→机上の計算による集約台数を算出しました。会社や案件によっては,机上の計算から稟議が通ったのを受けて,すぐに本番機器発注という流れもあるかもしれませんが,本連載では検証局面を設け,1台あたりの処理性能の確認と,異なるスペックによるハードウェア,ミドルウェアの挙動の違いを確認し,マシン選定をより厳密に行う材料にしたいと思います。また,ミドルウェアに関しても,設定の違いによる処理性能の違いを把握し,本番適用時の根拠にすることを目的とします。

図1 今回の位置づけ

図1 今回の位置づけ

検証項目を決めてハードウェアを調達する

検証を行う際,最初に「何をするために」「何を調達する」のかを決めなければなりません。本番機器発注の台数見積もりの正当性を(なるべく正確に)検証しなければならないため,慎重に行わなければなりませんが,考え始めればきりがなく,軽くやるにしても「どこまで?」という感じになってしまいがちかも知れません。

最終的なゴールは,機器発注時に「このスペックのマシンを○台」と言えるように確認を行うことです。結果として一番避けたいのは「総スペックが足りない」場合と,逆に「誰が見ても大幅に買いすぎた」になることかと思います。

次に心がけたいのは「なるべく(キャパシティが)見積もりどおりの台数で運用できる」ということでしょう。そのために今回はWebサーバ,DBサーバに関して次のようなゴールを設けることにしました。また,ハードウェアに関しては,先に検証(開発)環境用として調達するのも良いのですが,今回はメーカ等から1ヵ月程度借用し,その期間内で検証を行うこととします。

Webサーバのゴール

Webサーバに関しては,スクリプト等を利用して以下の環境(起動項目に達すること)が確認できた場合,後はスケールの数に応じて現行保証ができることとします。

ハードウェア:X5570 (2.93GHz) / 8GB×4 / 147G×6(RAID1×3) 15krpm
VMware ESXi 4.x
CentOS 5.4(64ビット)
Apache 2.2 1,000プロセス
Tomcat 6.0 200スレッド/5コンテナ

こちらの検討については問題なく実施することができたので,詳細については割愛させていただきます。

DBサーバのゴール

DBサーバに関しては,プロダクトアップグレードによるアプリケーション改修等もあるため,ハードウェアの確認の他,アップグレードの手順やパラメータ設定項目等の検証項目も加えることにします。検証対象マシン,検証項目が多いのですが,一度やり方と内容が決まれば,あとは流れ作業的に実施することができます。機器借用機関を1ヵ月とした場合,調達→検証→返却までを3週間を目標にスケジューリングすると良いでしょう。

基本検証方法

検証環境にて利用するデータ類は,いったん本番環境からMaterialized Viewでデータを受けてから隔離された環境へ移します。このような環境の場合,よほどのことがない限りOracleのバージョンアップにデータ領域自体が影響することはほとんどないかと思います。

図2 基本検証方法

図2 基本検証方法

また,キャッシュ等の機能に関してはいったんOFFにするなど,極力無効化して検証を実施することとします。Oracle11gのリザルトキャッシュ,OS側でのファイルキャッシュなどの機能はオフとし,検証は再起動等を実施した後に実行します。具体的な検証は以下のように行います。

1.本番環境より一定の時間帯のSQLクエリを抽出し検証時に利用します。
詳細には,SELECT処理の行う10,000万個の一連のSQLバッチ処理を,メモリ初期化後に10並列,30並列の多重度で実行します。
2.SQLを実行した処理時間よりスループットを計算(逆算)します。
前提として,Oracleからの「複数列統計」機能は推奨されていますが,今回の検証では対象項目の判断ができなかったため対象外としています。 VLM環境での自動メモリ管理(AMM)設定に関しては,今回はサポートされていない環境があり,一律検証の対象外としました。

測定方法に関しては,SQL*PLUSのSPOOL機能で必要なログを残し,以下のように集計します。

  • ①AP処理時間:終了時間時刻-開始時刻
  • ②DB内部処理時間:開始と終了時点の「CPU時間 + 待機時間(NotIdle)」の差分
  • ③物理読取数:開始と終了時点の「physical reads」の差分
  • ④論理読取数:開始と終了時点の「logical reads」の差分

ハードウェア,設定項目等

検証に利用した機器は表1の通りです。ハードウェア的には3,4号機が現行機で,5年前に製造されたマシンです。リプレース目標の1,2号機に関しては,本当は統一されたマシンが望ましいのですが,発注を予定しているハードウェアベンダの借用プログラム等を利用する場合,スペック等に関して必ずしも要望通りのマシンになるとは限りませんので,多少ばらつきが出てしまっています。

検証用機器

 OSOracleCPUメモリディスク備考
1号機Red Hat Linux 5.4(64ビット)11gR1X5570(2.93GHz)32Gバイト147Gバイト×6(RAID1×3)3.5インチ 15krpm
2号機Red Hat Linux 5.4(64ビット)11gR1L5520(2.26GHz)32Gバイト25Gバイト(SSD)×8SSD利用
3号機Red Hat Linux 4u8(32ビット)9i(9.2.0.7)Xeon 2.4BGHz8Gバイト73Gバイト×4現行マシン現行バージョン
4号機Red Hat Linux 4u8(32ビット)11gR1Xeon 2.4BGHz8Gバイト73Gバイト×4現行マシンでOracleプロダクトのみバージョンアップ

Oracleのバージョンップ

Oracleデータベースのバージョンアップに関しては,Oracleのサイトや専門書籍を参照し,それぞれ対象システムに合ったアップグレード方式を選択してください。

今回は現行9i(9.2.0.7)からのアップグレードが対象となり,当時は10gR2への移行がおすすめパターンでした。これは恐らく移行実績が豊富にあり,リスクが少ないといった点からの結果であろうかと思いますが,幸いにも現行バージョンの9.2.0.7から11gへのダイレクトアップグレードが保証されていることや,今回のターゲットシステムがMaterialized Viewの受け側のみいうことで,11gに移行してもデータベースの再構築(フルアナライズ)など移行の手順,リスクが低いと判断しました。当然,最新バージョンにしておくことにより,次回EOSLまでの期間が長いという利点もあります。

著者プロフィール

高岡将(たかおかしょう)

大手金融,独立系SIerにて気がつけば計18年以上のキャリアを重ねる。バランス感覚に長け,インフラ/アプリ,プレイヤ/マネージャなど関係なくこなし,「いそうだけどいないタイプ」と評価される。

仕事以外では,自転車,ジョギング,サックス等を趣味にし,密かに「エンジニアと健康」についてダイエット成功論の連載を企む。

コメント

コメントの記入

パスサポ

多数の情報処理技術者試験対策書籍の発行実績を誇る技術評論社がお届けする,資格試験合格サイト「めざせ! 情報処理試験 パスサポ」が開設されました。

ピックアップ

サクセスストーリーに続く,快適サーバー運用管理のヒント!

データの増大,煩雑な管理,システムダウン,セキュリティなど,迫りくる課題からシステム管理者の負担を軽くするポイントを解説します。

gihyo.jp インフラエンジニア情報局

ネットワークやITにかかわるあらゆる業種で必要とされるインフラエンジニアに向けた技術情報や心構え,その魅力について多角的に紹介。

テストエンジニア ステーション

いま,ITに関わるあらゆる開発業務で注目されつつあるテスト系エンジニアをターゲットにしたコンテンツサイトを展開します。

一行クイックアンケート

gihyo.jpで取り上げてほしいネタは?

※検索はページ右上の検索ボックスをご利用ください。

その他の連載

2010年版SEO体得講座

本連載では,いまや企業サイトの戦略の1つとして欠かすことのできないSEOについて,最新トレンドからすぐに使えるTipsまでを紹介します。

小型Linuxサーバの最高峰 OpenBlockS 600活用指南

搭載メモリの増加,CPUクロックの向上など,あらゆる面が強化された期待の新モデルOpenBlockS 600。この記事ではOpenBlockS 600の紹介から,活用するためのさまざまなノウハウを紹介していきます。

はじめMath! Javaでコンピュータ数学

プログラミング言語入門者向けに,知っていると役立つ数学的トピックスを紹介します。簡単な演習問題と解説で,即活用できる知識を目指します。

教科書には載っていない ネットワークエンジニアの実践技術

ネットワークエンジニア,インフラエンジニアのトラブル対応には,時には「教科書通りにいかない」テクニックが必要となります。資格試験では得られないこうした実践的な技術について,実例を元に紹介します。

Googleケータイ,世に現る

2008年9月,Googleが中心となって開発されている「Android」を採用した携帯電話「T-Mobile G1」が発表されました。本連載ではT-Mobile G1を中心にGoogleケータイに迫ります。

モバゲーオープンプラットフォームに挑戦!――面白法人カヤック流モバゲーオープンプラットフォーム企画と開発のイロハ

2010年1月にリリースとなったモバゲーオープンプラットフォーム。その制作企業であるカヤックが,アイデアを企画に落とし込み,開発までのノウハウを紹介します。

プロトタイピングツールSketchFlowを用いた,Silverlightアプリ開発

SketchFlowプロトタイプ作成からアプリケーション開発までをExpression Blend 3を使って実践的に解説します。

Ubuntu Weekly Recipe

Ubuntuの強力なデスクトップ機能を活用するための,いろいろなレシピをお届けします。

連載一覧

gihyo.jp

  • DEVELOPER STAGE
  • ADMINISTRATOR STAGE
  • WEB+DESIGN STAGE
  • LIFESTYLE STAGE
  • SCIENCE STAGE
  • NEWS & REPORT

書籍案内

  • 新刊書籍
  • 書籍ジャンル一覧
  • 書籍シリーズ一覧
  • 新刊ピックアップ
  • ロングセラー
  • 電脳会議

定期刊行物一覧

  • Software Design
  • WEB+DB PRESS
  • Web Site Expert
  • 組込みプレス

最近のコメント