PRESS ENTER「冷たい方程式(25) レスポンスの速さはどれくらい」

http://el.jibun.atmarkit.co.jp/pressenter/2012/07/25-4a5e.html
http://el.jibun.atmarkit.co.jp/pressenter/all_entrylist.html

読んでるだけで開発者のHPが下がり続けるこのシリーズ.

渕上マネージャは、出退勤編集画面の説明を終えかけていた。

 「……これですべての入力が終わったので、勤怠表の印刷ができることになります」

 画面の右上にある印刷ボタンがクリックされた。

 数秒が経過した。ブラウザのステータスバーには、リクエスト中のプログレスバーが表示されている。

 渕上マネージャの顔がわずかに曇った。素人だと、ここでもう一度ボタンをクリックするという無益な行動に走ったりするものだけど、渕上マネージャは、さすがにそんな真似はしなかった。ただ、辛抱強く、画面を見つめている。

 さらに10秒近くが経過したとき、役員の1人が隣の役員にささやくのが見えた。

 「意外に時間がかかるな」
 ささやきといっても、会議室内は静まりかえっているので、全員の耳に届いただろう。そこかしこで、何人かの頭が同意するようにうなずいた。

 確かに変だ。たかだか1カ月分、31レコードを読んで、PDFを作成するだけなのに、こんなに時間がかかるのは奇妙だ。法定休日や休暇の日数計算はしているが、そんなものは数ミリ秒で終わるだろう。全社員が一斉に使っているならともかく、接続しているのはデモ操作用の1台だけだというのに。

 「すみません、どうも遅いようで……」渕上マネージャが言ったとき、ようやくダウンロードのダイアログが開いた。「ああ、開きました」

 「本番でもこれぐらいのスピード?」人事部長が訊いた。

 「いえ、まだチューニングが完全ではないようなので」渕上マネージャは落ち着いて答えた。「本番ではもっと高速です」

 「ならいいけどね」

今回のパフォーマンス低下は「亀井君の逆襲説」も囁かれているんだが,自分はとりあえず現時点では違うと思う.

  • もし自分なら,デモではなくリリース後を狙う.たとえば人事部が勤怠管理データを入力して全作業を完了して出力する直前とか.そのタイミングでバグに見せかけてデータを破壊すれば,渕上マネージャのダメージも一番大きくなるだろう.
  • デモを狙うなら、画面を表示したらエロ画像などが表示されるようにしてもよいし,そっちの方が簡単.
  • パフォーマンス低下より,データ削除や計算ミスの方が作りやすくダメージが恒久的.
  • コードを改竄できるなら,計算を微妙に間違えたり,幾つかのデータをコッソリ上書きするようなバグを仕込んでも良い.
  • 完全に停止させるのではなく,微妙にパフォーマンス低下させるのって結構難しい.CPUパワーを消費しただけでは不十分だったり,影響が予測しにくい.そこまで狡猾ならば,上記のようにもっと上手くやる方法はいくらでもある.*1
  • 今回だけなら「ついうっかり電源抜いちゃいました」の掃除のおばちゃんメソッドで十分な気も.それだけを理由に左遷するのは流石の渕上氏でも難しいだろう.
  • そもそも亀井君は,そんなに頭を使うタイプに見えない.裏の裏をかいた可能性もあるが,ならばもっと効率的にやるだろう.


それにしても,ろくにデバッグもしてない段階で,社内デモに今まで使ったことのない本番データを使うなんて渕上マネージャは怖い物知らずだな.小規模なテストデータだと動いてるように見えるけど,大規模な本番データだとパフォーマンス低下等のトラブルが起きるというのは、十分に予想できる範囲内だろうに.どうやら大方の予想通り,渕上氏は頭でっかちではあるが開発経験や知識は極めて乏しい初心者のようだ.

ERPパッケージの「導入」とソフトウエアの「開発」が全く異なる作業だと未だに理解できていないのだろうか.


さすがの東海林氏も,負荷テストが契約に含まれてないのに無料ではやらないのでは?特に渕上氏みたいな人相手にサービスしたら,どんどん無料でこき使われるのがわかりきってるんだし.*2

それに土壇場で助っ人に入っているので,そんなことやってる余裕もないでしょう。デモ当日までに納品するのも、土日全部潰してギリギリみたいだし.

サードアイシステムの東海林さんより、すべての実装が、取りあえず完了したとの連絡が入った。仕事納めの28日までに数日を残しているのは、年末のデモに間に合わせるため、渕上マネージャが期日を強制したためだ。そのせいで、東海林さんを筆頭にサードアイの何人かは、12月の土日を全部つぶすはめになったらしい。

パフォーマンス上の問題があるのも,既知の問題だったかもしれない.渡されたテストデータではクリアできていたのと「デモに間に合わせるため」を優先すれば,本番データ用のパフォーマンスチューニングよりもデモ用データでの表示の方を優先するだろうし.

渕上マネージャの険しい視線が、1秒ほどの間、サードアイの2人に向けられた。そういえば、この画面を最終的に修正したのは、サードアイさんだった。

ところで,渕上マネージャはその責任を東海林氏になすりつけたりしないかな?


なれる!SE」の方も来月発売だそうだけど,客先常駐と聞くと似たような展開が想像されてイヤになるなあ.*3

*1:sleep()を入れるというのもあるけど,さすがにねえ.

*2:次の朝は、東海林さんと2人でエースシステムに行くことになっていた。電車の中で昨夜の話をすると、東海林さんは同情してくれるどころか、「バカかお前は」と舌打ちした。「そりゃ明らかに仕様追加だろうが。そういう場合は営業を通して追加見積を出さないと、こっちの一方的な損で終わっちまうんだぞ」「……」「それにだな。『これ追加して』って言われて、ほいほいと了解すると、次から同じようなことをガンガン言ってくるぞ。つまらない前例を作るんじゃないよ」「でも今日、K自動車さんに見せたいって言われたので……」「それがどうした?」ぼくの弱々しい反論を、東海林さんは一蹴した。「それはエース側の問題だろ。うちの問題じゃない。うちはお前のボランティアに残業代を払うほど、裕福な会社じゃないんだからな」」 http://el.jibun.atmarkit.co.jp/pressenter/2011/07/9-67a2.html

*3:http://d.hatena.ne.jp/JavaBlack/20120703/p2