表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

ブックマーク機能を使うにはログインしてください。
とあるエンジニアの備忘Log ― 新人SE、水瀬のデスマーチ記録 ―  作者: no name


この作品ページにはなろうチアーズプログラム参加に伴う広告が設置されています。詳細はこちら

PR
47/50

見えないボトルネック

 テーブルに手が入ることになってから、一覧側の条件も一緒に見直す流れになった。

 それ自体は、ある意味当然だった。

 結城のバッチが夜のうちに整理して登録する先が変わるのなら、翌朝それを拾って表示する画面側も、その前提に合わせなければならない。

 問題は、その修正が一箇所で終わらないことだった。

 件数が少ないうちは、動く。

 普通に見れば、そこまでおかしくは見えない。

 だが、本番を想定した件数に近づけると、また遅くなる。

 しかも取得条件を変えたせいで、一覧に出る結果そのものまで少し変わってしまった。

「……またズレた」

 水瀬は画面を見ながら、小さく呟いた。

 表示件数。

 並び順。

 拾われるデータの条件。

 一つ直すと、一つ進む。

 けれどその横で、別の何かがずれる。

 その繰り返しだった。

 手戻りが多い。

 いや、手戻りというより、進んでいるのか戻っているのかも分からなくなる感じに近かった。

 結城はバッチ側を見直している。

 黒川は負荷試験の条件を変えながら、どこで急に重くなるかを追っている。

 水瀬は画面側で、その結果の受け方を修正している。

 同じ障害を見ているはずなのに、触っている場所はそれぞれ違った。

 だからこそ、簡単には揃わない。

 日付が変わる頃には、フロアの会話もかなり減っていた。

 残っているのは、キーボードの音と、時々交わされる短い確認だけだった。

 黒川が画面から目を離さずに言う。

「少しマシにはなってる」

「まだ遅い?」

 水瀬が聞く。

「遅い。さっきよりマシってだけ」

 その言い方が、妙に正確だった。

 良くなっていないわけではない。

 でも、まだ使える速さではない。

 水瀬は自分の一覧画面を見直す。

 取得条件を変え、表示する項目を合わせ、並び順も調整した。

 それでも、根っこの重さが残っている感じがした。

 深夜二時を過ぎたころ、村瀬がこちらへ様子を見に来た。

「どう?」

 その一言に、水瀬は少しだけ困った顔になる。

「正直、前よりひどくなってる気もします」

 村瀬は水瀬の画面を見て、それから黒川のログ画面、結城のSQLが開かれたディスプレイを順に見た。

 少しだけ黙ってから、低い声で言う。

「まず、取得してるSQLをちゃんと見直そう」

「SQL……」

「うん。実行計画、見てみよう」


 実行計画。


 初めて聞く言葉だった。

 水瀬は自分の端末でも調べてみた。

 検索すれば解説はいくらでも出てくる。

 けれど、正直よく分からなかった。

 表のようなものが並んでいて、数字や処理名がいくつも出ている。

 何をどう見れば、「だから遅い」に繋がるのかがいまいち掴めない。

「……わかんないな」

 思わず本音が漏れると、隣の藤堂がこちらを見た。

「実行計画?」

「はい。見方調べてるんですけど、いまいち……」

 藤堂は自分の椅子を少しだけ寄せた。

「ざっくり言うとね」

 そう言って、水瀬の画面を指す。

「DBが、どこからどういう順番でデータを拾い始めてるかを見るものかな」

「順番……」

「うん。で、こういうのって、最初に拾う件数を減らせるなら減らした方がいいんだよね」

「最初に……」

「最初から広い範囲を見に行くと、それだけで重くなりやすいから。先に件数を絞れる形にできるなら、その方がだいぶ違う」

 その説明で、少しだけ頭の中の霧が晴れた。

 全部は分からない。

 でも、“最初に見る量を減らす”のが大事なのだということは何となく分かる。

 藤堂はさらに続けた。

「あと、索引を使えるようにすると変わることもあるよ」

「索引……?」

「うん。本で言うと、後ろについてる一覧みたいなものかな。欲しい情報を探すときに、最初から全部めくるんじゃなくて、先に当たりをつけるためのやつ」


 索引。


 それもまた、普段は意識しない言葉だった。

 けれど、本の後ろについているあの一覧を思い浮かべると、少しだけイメージしやすくなる。

「探したいものに近い索引が使えれば、遠回りしなくて済む」

 藤堂は言う。

「逆に、その索引が使いにくい形だと、結局ぐるっと回ることになるんだよね」

 水瀬は画面の実行計画を見ながら、小さく息を吐いた。

 意味は少し分かった。

 でも、じゃあどう直せばその順番を変えられるのかまでは、まだ全然見えない。

「じゃあ……最初に拾う件数が減るように、条件の置き方を変えてみる感じですか」

 そう聞くと、藤堂は少しだけ笑った。

「うん、まずはそこから試してみるのがいいかも」

「……難しいですね」

「難しいよ」

 藤堂はあっさり頷いた。

「だから、ひとつずつ変えて、ちゃんと実行計画がどう変わるかを見た方がいい」

 そうして、手探りの作業が始まった。


 結城がSQLの書き方を少し変える。

 黒川が負荷条件をかけ直す。

 水瀬は表示結果と速度を見る。

 また戻る。

 また直す。

 また見る。


 一つ変えるたびに、何かが少し変わる。

 でも、どれが決定打なのかはまだ掴めない。


 気がつけば、部屋がやけに明るかった。

 最初はディスプレイの白さかと思った。

 だが違った。

 執務室の窓の向こうから、朝の光が差し込んでいた。

「……朝か」

 誰が言ったのか分からない。

 たぶん、誰かが小さく漏らしたのだと思う。

 今日はまだ、みんないた。

 黒川は机に突っ伏して寝ていた。

 結城も、その隣で腕を枕にして目を閉じている。

 佐伯も同じように伏せていて、時々肩だけが小さく動いた。

 藤堂は起きていたが、さすがに眠そうだった。

 三浦は椅子を三つ繋げて、少し窮屈そうに横になっている。

 それでも、高橋と村瀬だけはまだ起きていた。

 さすがに顔には疲れが見える。

 けれど、二人とも妙に姿勢が崩れていなかった。

 水瀬も、もちろん眠かった。

 頭の奥がじんわり重い。

 目も乾いている。

 それでも、ここできちんと直さないと、という妙な使命感だけは残っていた。

 しばらくすると、執務室の入り口が開き、他の人たちが出社し始めた。

 それに合わせるように、寝ていた四人も少しずつ起き始める。

 黒川が顔を上げて、目をこする。

 結城は無言で姿勢を戻し、すぐにディスプレイへ視線を戻した。

 佐伯は小さく伸びをし、三浦は椅子を元に戻す。

 水瀬は頭がぼうっとしていた。

 けれど、何となく、どうすればいいかが見えてきていた。

 さっきまで完全に見えなかったものが、少しだけ輪郭を持ち始めている。


 どこを先に見に行かせるか。

 どの条件から絞らせるか。

 どうすると遠回りを減らせるか。


 理屈を全部説明できるわけではない。

 でも、感覚として少し掴みかけているものがあった。

(この設定ならいけるんじゃないか……?)

 水瀬はそう思った条件を入れて、もう一度確認した。

 実行計画が変わる。

 そして、表示速度もかなり改善された。

「……あ」

 思わず小さく声が漏れる。

 黒川がすぐにこちらを見る。

「どうした?」

「速くなった」

「え?」

「かなりマシになったと思う」

 黒川がすぐに席を寄せる。

 ログを見て、もう一度条件を変えて試し、それから小さく息を吐いた。

「……ほんとだ」

 水瀬は画面を見たまま、胸の奥で何かが繋がるのを感じていた。

 ああ、こういうことか。


 取得しに行く順番。

 索引の使われ方。

 どこから絞って、どこを後に回すか。


 はっきりと「こうすれば正解だ」と言い切れるわけではない。

 それでも、どう触ると流れが変わるのか、その感覚だけは少しずつ体に入ってきていた。

 徹夜二日目の夕方。

 ようやく、見えないボトルネックの輪郭が少しだけ見え始めていた。


評価をするにはログインしてください。
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

↑ページトップへ