移行プログラムの性能テストでも問題がないことが実証でき、いよいよ第1回移行リハーサルがスタートしました。移行リハーサルのメンバーは、サブリーダー4人と私。
テープデバイスからデータを新システムのサーバにロードし、いざスタート!……したのですが、最初の大きなテーブルの移行処理時に、まさかの事態が起きました。性能検証時の1秒間当たりの処理件数は200件ほどだったのですが、何と40件/秒という、いままで見たことのない劣悪なスループットを出していたのです。
サブリーダー
Aさん 「う、うーん。何ですかね? この遅さ……」
私 「……もうじき速くなるんじゃないかな。取りあえず昼飯にでも行くか」
若干思考が停止気味だった私とサブリーダーのうちの1人は、ひとまず昼食を取りに食堂に行きました。帰ってきたときには、もしかしたらスピードが戻っているのではないかという淡い期待を胸に……。
食事をしながら多少冷静さを取り戻した私は、このままのスループットだと到底40時間では終えられないと判断しました。そこで、いったん処理をストップし、サーバを再起動するという苦渋の決断をしました。こんな気分での食事では……ほとんど味を感じることができませんでした。
かくして作業場所に戻った私たちは、おそるおそるスループットを確認しました。
Aさん 「あっ!」
私 「おお」
Aさん 「スループットが45に上がってます!」
私 「……」
Aさん 「……」
私 「じゃあ再起動しようか……」
Aさん 「そうですね……」
ということで、私たちはサーバの再起動を試みました。ロスは1時間ほど。緊張しながら再度処理を開始したところ、奇跡(?)が起こりました。スループットが230件/秒に復活したのです!
「このままいけば時間内に完了できる!」
サーバは完全に生き返りました。本番移行手順書に「サーバの再起動」を追加したことはいうまでもありません。それ以降、処理は順調に進み、移行処理自体も終盤に差し掛かりました。
しかし、ここで2度目の悲劇が起こりました。終盤の複雑な処理の部分は、Oracleのストアドプロシージャで作成していたのですが、そのプログラムの1つが劇的に遅くなっていたのです。これも性能検証のときには問題なく動いていたはずなのに……。
あれこれ調べた結果、リハーサルの準備段階で移行用の中間テーブルを再作成していたために、Oracleの統計情報が存在しない状態でSQLが発行されていたことが分かりました。そこで、プログラム実行中に統計情報を取得し直してみたところ、性能が完全に復活しました。全員ガッツポーズです。中間テーブル作成後にOracleの統計情報をインポートするということも、本番移行手順書に追加されました。
こうした幾多の困難を乗り越え、移行プログラムは無事処理を完了しました。検証結果も問題なく、時間内に完了することができたのでした!
それにしても、このメンバーであれば、何が起きても怖くはありませんでした。何とかなるような気がしてしまう、そんなチームでした。
その後、第2回移行リハーサルを実施。第1回での経験を基に精練された手順書もありましたので、失敗する要素もなく、問題なく完了することができました。後は本番を待つばかり。ですが、いくらリハーサルがうまくいっていてもやはり本番は不安なものです。
そんな矢先、ハプニングが起こりました。お客さまのよんどころない事情も含めた諸々の事情により、本番稼働の日付が1週間変更になったのです。1週間変更になること自体には、何も問題はなかったはずなのですが、思わぬところに落とし穴がありました。サブリーダーの1人が土曜日に、友人の結婚式に出席する予定があったのです。
サブリーダー
Bさん 「土曜日、友人の結婚式なのですが……」
私 「いいよ。行っておいでよ」
Bさん 「名古屋なのですが……」(移行現場は東京でした)
私 「えっ?」
幸い調整可能な範囲でしたし、準備も万端でしたので、事なきを得ました。ただ、Bさんには大変な思いをさせてしまいました。結婚式出席→本番移行でしたから。1回だけどうしても確認したいことがあり、Bさんの携帯電話に連絡してしまったことがいまでも心苦しいです。
こうして、苦労したリハーサルの集大成となる本番移行は、トラブルもなく、月曜午前1時ごろすべて完了しました。システムは無事に本稼働を開始し、移行に関するトラブルはまったく発生しませんでした。
移行は、あまり目立たないものです。うまくいけばいくほど、目立ちません。でもこのとき、クライアントの移行担当者の方から感謝されたこと、そして何よりこの最強チームで取り組めたことが、私はうれしくて仕方ありませんでした。
本番移行が無事終わって、ほっとしましたし、かなりの達成感もありました。それと同時に、このチームでの仕事も終わりかと思うと、少し寂しい気持ちにもなりました。
1人1人が常にどうすればうまくいくかを考え、実行し、期待された役割以上のものを果たしていく。私が目指すチームの形が見つかった気がしていたのです。
新楽清高
1973年生まれ。東京生まれの東京育ち。大学で都市計画を専攻後、社員100人ほどのシステムインテグレータにてSEとしてセールス〜要件定義〜開発・テスト〜運用までを行う。その後2003年11月にアクセンチュア・テクノロジー・ソリューションズに入社。Java、.NET、SAPにて大規模な基幹システムの構築に携わり、現在に至る。基本ポリシーは「楽しく」。趣味はトラブル対応。
Copyright © ITmedia, Inc. All Rights Reserved.