常駐先で、ORACLEデータベースの管理やってます。ORACLE Platinum10g、データベーススペシャリスト保有してます。データベースの話をメインにしたいです

【小説 失格のエンジニア】第二十三話 マスクド☆彼女

»

「利用者は100人もいません」

 グラフを指差しながら桜子はそう言った。

------------------------------------------------------------------------------------

 昨日18:00。
 社内にて。

「安田さん、データ取ってきました。」

 雄一はUSBメモリを手渡した。

「ありがと」

 桜子はパソコンにUSBメモリを突き刺した。
 メモリの中には複数のファイルが格納されていた。
 ファイルには府中屋の売上管理システムで使用されている各サーバのリソースデータが格納されていた。
 それらの中からDBServer_vmstat_0322.logというファイルを選び出し、あらかじめ用意していたVBAマクロに読み込ませた。
 DBServer_vmstat_0323.log、DBServer_vmstat_0324.logも読み込んだ。
 Excelシートに三日分のメモリ、CPU、ディスクI/Oなどの使用率をプロットした表とグラフが完成した。

「実際の利用者とリソース何てこんなもんよ」
「たったのこれだけですか」

 全社員800人の内、ここ最近の三日間で100人も使っていなかった。

「それにしても、安田さんの作ったツールすごいですね。目白部長も裏でこんなデータを取ってるなんて、知らないと思いますよ」

 リソースデータは出来るだけ短い間隔で長期間取得しなければ分析データとして価値が無い。
 ある一断面だけを取得しても、その時の状態しか表していない。
 本当の状態をそこから知ることは出来ないからだ。
 かといって、サーバにずっと張り付いて人力で定期的にデータを取得するコマンドを叩くわけには行かない。
 提案のためにこういったことをしているのを知られたくないからだ。
 もし知られたら、相手も同じような情報を集めて対抗してくるだろう。
 秘密裏に行う必要があった。
 そこで桜子はツールを作った。
 そのツールはサーバに配置し初回起動することで、後は一分に一回サーバリソースを取得する。
 メモリやCPUそしてディスクI/Oなどのリソース負荷をvmstat、nmonなどで取得。
 システム利用者数はORACLEデータベースへの接続数とした。
 具体的には、V$SESSIONのカウント数を取得する。

「バレずにこれだけのデータを取れたのは、有馬君のお陰だよ」

 幸い、雄一は毎日のように障害対応で呼びつけられ、各サーバに触れる機会がある。
 その時にこのツールを仕込んだ。

「このデータの整理は私がやっておくわ。君はもう今日は帰宅して明日のためにゆっくり休みなさい」
「大丈夫ですよ。手伝います」
「いいから、いいから。そんなに無精ひげでやつれてると、あの娘にカッコいいとこ見せられないぞ」

 何と、お見通しだったとは。


------------------------------------------------------------------------------------

「次にこのグラフを見てください」

 データベースサーバのメモリ使用率についてのグラフを示した。

memory.png

「御覧の通り、メモリは20%位しか使用されていません。現行サーバはメモリを40GByte積んでいますが、その内、8GByte程しか使っていないことになります。32GByteのメモリが無駄に積まれていることになります。そこで......」

 桜子は次のスライドを映した。

<データベースサーバのメモリサイズは40GByteから20GByteにする。>

「今の半分のメモリサイズにしたとしても、現在のシステム利用者数の倍の人数が使用しても賄えます。よって、このサイズに致します。また......」

 データベースサーバのCPU使用率についてのグラフを示した。

cpu.png

「御覧の通り、CPUは20%位しか使用されていません。現行サーバは4CPUを積んでいて、1CPUあたり4コアです。これだけのスペックがありながらその半分も活用出来ていません。そこで......」

 桜子は次のスライドを映した。

<CPUの数を4から2にする。つまり16コアから8コアにする。>

 その後、桜子はアプリケーションサーバ、バッチサーバについても同じように実データを示し、サーバのスペックを落とすことを提案した。

「CPUのコア数を減らせたことで、各ミドルウエアのライセンス料を減らせることが出来ます。例えば、ORACLEに関してはCPU数に比例してライセンス料を払っているので、これで大幅にコストカットが出来ます」

 次のスライドで、リプレース前後の保守費用を示した。
 それを見た人々は一様に驚き、隣の者同士で何か話し合っている。
 それもそのはず、桜子の示した値は現行の保守費の半値以下だったからだ。
 だが、目白部長が反論した。

「我々はこれからのことも考えてサーバスペックを増強しようと考えたんだ。それに今後、全社員が同時に使うことだってある。それに耐えられるスペックを用意しないなんておかしいだろ! それにこんなデータ幾らでもでっちあげることが出来る。君らがこんなデータ取ってるとこ何て見たこと無いからな!」

 そう言われ、桜子は一旦目を伏せると、すぐ顔を上げこう言った。

「もっともらしいことばっかり言ってるんじゃねぇ! このパクリ集団が!」
「なっ......」
「でっちあげたと思うなら、今からサーバに張り付いて自分たちでリソースデータ取って来て、グラフ作って見ろ!」

 おとなしそうな女が、いきなり啖呵を切りだしたことで周囲が騒然となった。

「いけしゃあしゃあと、人が汗水たらして作った提案を自分が苦労して作ったみたいに、のたまってんじゃねぇ! 可用性のところの質問に答えられなかった時点で、お前らが人の提案パクってたのはハッキリ分かってたんだ! もし、お前らが自分の頭で考えて、客の立場でものを考えてりゃあ、さっき私が提案した内容に行きつくんだ!」

 目白部長は反論出来なかった。
 周囲が「パクリってなんだ」と騒ぎ出した。
 目白部長はそちらの弁解に奔走することになった、というのもある。

「そうなんだよな。何でこんなに提案の内容が被ってたのか不思議だったんだよな」

 反オペラ派の役員がこうつぶやいた。
 それが周りにも聴こえたのか、ますます竹芝に対して疑いの視線が強くなり批判の声もちらほら上がりだした。
 全てをやり終えた桜子は壇上からその様子を静観する。
 その姿は誇りに満ち溢れていた。
 雄一はこんな桜子の姿が見たかったのだと改めて思った。

「ほっほっほっ」

 突然、しゃがれた笑い声が聴こえた。
 その主は、府中屋の社長だった。
 部屋の隅に座っている社長は、顎から伸びる長い白髭を揺らしながら、目を細め笑っている。

「こりゃ、若いお嬢さんに一本取られたわい」

 社長の一言で場内は静まった。
 そして、ほどなくして質問も出尽くし、コンペは終了した。


---------------------------------------------------------------

 雄一が後片付けをしていると、肩をポンと叩かた。
 振り返ると、にこやかな表情の副社長がいた。

「いい提案だったよ」

 そう言うとサムズアップして来た。
 雄一もそのフランクな対応に、軽く会釈して応えた。
 よく見ると副社長は若く、活力がありそうな三十代後半くらいの爽やかな男だった。
 スポーツでもしているのかガッチリとした体つきは頼り甲斐がありそうだ。
 対照的に雄一はドラムをやっていて腕や脹脛に多少筋肉があるとはいえ、ヒョロい体型だ。
 副社長の肩越しに美穂がニコニコしているのが見える。
 雄一と目が合うと会釈してきた。
 だが、美穂は副社長と仲良く話しながら会議室を後にした。
 雄一はこのまま美穂がその場にとどまり、自分と今日のコンペについて仲良く話すものだと思っていた。
 多少失望したが、ここは公の場であるのだから仕方ないと自分に言い聴かせた。


---------------------------------------------------------------

 府中屋の社屋を出た桜子と雄一は、出入口である正門を目指した。
 そこで目白部長とばったり会った。
 足元に数本の吸い殻が落ちている。
 目白部長は先回りして待ち伏せしていたようだ。
 雄一は気まずさを覚えたが軽く会釈し、その場を過ぎ去ろうとした。

「大嫌いだ」

 そんな言葉が耳に届いた。
 振り返ると声の主はじっとこちらを見つめ、怒りをこらえているといった表情をしている。
 雄一は無視して去ろうとしたが、相手は更にこう言ってきた。

「私は君みたいなやつが大嫌いだ。大人しく流れに任せておけばいいものをそうやって抗い、勝利したつもりになっていい気になっている。それで何人の人間が幸せになれたんだ。我々が提案を勝ち取ったほうが、支持する人間も多いんだから相対的に見て幸福なのだ」
「それって、顧客にぼったくりの提案してもってことですか?」

 二人のやり取りを見ていた桜子が低い声でそう言った。

「もしも受注を勝ち取ったとしても、君たちと私はベンダーと顧客という関係で仕事することになるんだぞ。これがどういうことを意味するか分かっているのか?」

 仕事が決まれば、雄一と桜子は目白部長を相手に仕事することになる。
 それは、かつて共に出し抜きあい、遺恨を残した相手と仕事することを意味していた。

「俺の上司が言ってました。仕事に好きも嫌いも無いって。ただ顧客のためにやるだけだって」

 雄一は毅然とした態度でこう言った。

「俺はあんただろうが他の誰かだろうが、協力して良いものを作る。それだけです。だから......もし、一緒に仕事することになったら、よろしくお願いします」

 大きく礼をした。

 目白部長はその様子を見て「はっ」と笑うと、もう言うことが無くなったのか踵を返し去って行った。

「有馬君」
「はい」
「成長したね」


---------------------------------------------------------------

 自社に戻る前に昼休みと称して、二人はエムドナルドでお茶することにした。
 コンペの結果発表は三日後。
 それまでは、少し平穏な日常が過ごせるはず。

「安田さん、今日、俺のライブがあるんです。来てくれませんか?」

 雄一はバニラシェイク片手にそう言った。

「あんだけ忙しかったのに練習してたの? 凄いね。いつ寝てたの」
「へへ......趣味と仕事は別ですからね」

 照れ臭くなり頭を掻く。
 今日までほぼ徹夜で仕事をして来た。
 明け方、一旦会社を抜け出しスタジオに行き、出勤前まで一人でドラムの練習をした。
 たまに、朝早く中山を呼び出して一緒に練習した。

「安田さんとの飲み会セッティングしろよ」

 眠い目をこすりながらそう言う同僚を、ありがたいと思う日々であった。

「じゃ、せっかくだし打ち上げ代わりに行ってやるか!」
「ほ、本当ですか!」

 ずーっと桜子をライブに誘い続けていた。
 その夢がやっと叶った。
 雄一は早速このことを中山に電話した。

「あいつ喜んでましたよ」 
「彼もいい迷惑よね。有馬君の趣味に巻き込まれて」
「いやいや、あいつ安田さんにいいところ見せたいって言ってますよ」

(中山、思いは自分で伝えろよな)

「ところでまだギター見つかってないの?」
「そうなんですよ」

 未だにボーカル、ギターに関してはメンバー募集中だ。
 応募者はいるにはいる。
 だが、面接や音合わせをしても何かしっくりこない。
 感覚の問題なので説明するのは難しいのだが、自分たちの求めている音と違う。
 彼らなりに一生懸命、自分たちと音合わせをしてくれている。
 その姿は、今日プレゼンをした自分たちの姿と重なる。
 皆、やり方や形はどうあれ必死というか、何かを目指しているのだ。

「待ってても埒が明かないから、こっちから声を掛けてるんです」
「どうやって?」
「まぁ、楽器屋とかスタジオでギター抱えた人に声掛けたり、あとネットですね。メンバー募集サイト使って加入希望者にメールしたり、あと動画ですよ」
「動画?」
「youtubeとかにギター演奏してる動画アップしてる人に声掛けてるんです。その中に一人いたんですよ。是非メンバーになってほしい人が」

 雄一はスマホでその動画を見せた。

guitar.jpg

 「イングヴェイ弾いてみた」というタイトルのその動画は、女の子が自室と思われる場所でストラトキャスターを激しくかき鳴らしている。
 襖を背にしたその女は、顔バレしたくないのかグラサンとマスクで顔を隠している。
 長い黒髪と黒いワンピースという出で立ちは、メタル好きということをアピールしているのか。
 本人曰く、高校三年生らしい。

「すごいでしょ」
「ふーん」
「この動画、十年くらい前に投稿されたものらしいんで今どれくらいの実力になってるか未知数だけど、是非、この娘と会ってみたいんですよ」
「高校生に目を着けるなんて、ロリコンだね」
「なっ......何言ってるんですか! 今はこの娘だってもう大人ですよ。それに......そんな趣味ないっすよ」

 と、雄一は慌てふためき弁解した。

「君の頑張りを動画かなんかで送れば、メンバーになってくれるかもよ」

 と、フォローするかのように桜子は言った。

つづく

Comment(10)

コメント

ちゃとらん

いつもお楽しみにしています。

ところで、
> 売上管理システム
なら、月末、月初のログデータがないと、ダウンサイジングするのは怖い気がします。

> システム利用者数はORACLEデータベースへの接続数
もコネクションプーリングを使用していれば、一致しないと思います。

そういう意味では、利用者数が多くても、同時アクセスが少なければデータベース接続数も少なくてすむので、表現の問題だと思います。例えば、400人がログインして端末を使用中でも、DB接続数が最大100程度なので問題ない、とか。

とあるPM

メモリ半減はまだしもCPUのコア数半減はおすすめ出来ませんね
実際の処理がどうなっているかにもよりますが、使用率20%の状態からリソースを半減すると割り込み処理による遅延で想定のパフォーマンスは得られないと考えられます。
一度待ち行列を計算してみては?

atlan

このJKは誰だ?

VBA使い

君たち「は」と私は


この子は多分、あの人だ

湯二

ちゃとらんさん。

コメントありがとうございます。
いつも楽しみにしていただき、ありがとうございます。


>月末、月初のログデータがないと、ダウンサイジングするのは怖い気がします。
確かにそうです。
出来れば1年間を通したリソースデータが欲しいところです。
こういう反論を敵にさせるべきなのでしょうね。


>コネクションプーリングを使用していれば、一致しないと思います。
APサーバからDBサーバに沢山コネクションプーリングしてても、常にアクティブなコネクション数はそれ程多くなかったりします。
そういう意味だとDBから見た接続数と、実際の利用者数は一致しませんね。


>利用者数が多くても、同時アクセスが少なければデータベース接続数も少なくてすむ
そうですね。
利用者が沢山いても、常に全員が使用しているわけでは無いですし、この辺りはもっと上手言い方があるかもしれません。

湯二

とあるPMさん。
コメントありがとうございます。

>メモリ半減はまだしもCPUのコア数半減はおすすめ出来ませんね

何だかレビュー受けているみたいですね。。。
本当に、話をパッと読んで分かり易くするためにザックリした値にしました。
実際は、もっと細かいデータと資料で説明するところですね。


>実際の処理がどうなっているかにもよりますが、使用率20%の状態からリソースを半減すると割り込み処理による遅延で想定のパフォーマンスは得られないと考えられます。


本当なら1年分のリソースデータは根拠として提示すべきとこですね。
たった三日では年次や月次の処理でどういう状態か分からないし、繁忙期の時どうなのかが掴めないです。
そう考えると、この小説のエンジニアは結構滅茶苦茶やっています。


>一度待ち行列を計算してみては?

この辺りも現場によりますが求められたりしています。

湯二

atlanさん。

コメントありがとうございます。

唐突に現れたこのJKは、主人公の身近にいる人の可能性が高いです。
割と予想しやすいと思います。

湯二

VBA使いさん。

コメントと校正、いつもありがとうございます。

恐らく予想通りです。
彼女は公私ともに主人公のヒーローだったのです。
って、ここまで書いていいのかな。

匿名

システムの問題が解決して、ホッとしましたがそうですね、もう一つ問題残ってましたね
流石のスーパーエンジニア桜子さんでもそっちはどうにもならなさそうですよねー(棒


美穂さん...あっ(察し


そして新しい「彼女」が登場の予感ですけどホントウニダレカナー(棒

湯二

匿名さん(2018/11/29 20:09)

コメントありがとうございます。


>システムの問題が解決して、ホッとしましたがそうですね、もう一つ問題残ってましたね


大分間が空いたけど、バンドメンバーとのあれこれを回収させないといけませんね。
正直ヒロインにはもうひと頑張りしてもらいたいところです。
色々考察していただきありがとうございます。


「動画の彼女」
伏線も無しに突然登場した割には、何だか受け入れてもらったようでありがたいです。

コメントを投稿する