
2025.02.12
職員一人あたり52時間の残業削減に成功 kintone導入がもたらした富士吉田市の自治体DX“変革”ハウツー
リンクをコピー
記事をブックマーク
草野翔氏(以下、草野):ISUCON公式サイトで公開された「CTOに聞いてみたインタビュー」でも言っていたのですが、現金を使えないということはISUCONの一番大変なところです。「いったんレバレッジを効かせてから」みたいなことはできないので、わりとつらいものがあります。そういうところも含めて次のテーマに行かせてもらえればと思っているんですが、じゃじゃん!
「パフォーマンスチューニングの原体験」は何でした? みなさんは何年付き合っていますか? とりあえず10年近くはみなさんやっていると思うんですけど。みなさん本を書いちゃうぐらい、もしくは12年間付き合っちゃうぐらい、ISUCONでパフォーマンスチューニングをやっていると思うんですけれど、何がそんなに楽しかったの? 最初に楽しかったのは何? ということを聞いてみたいと思っています。
みなさんのパフォーマンスチューニングの原体験。「これで俺はパフォーマンスチューニングをやる気になったんや!!」という話が聞けたらなと思っています。ということで、逆順に回りましょう。catatsuyさんの原体験は何ですか?
金子達哉氏(以下、金子):僕はISUCONです。僕は最初、新卒は開発で入ったんだけれど、インフラに異動して、インフラ未経験の状態でやり始めたので、こういう経験がありませんでした。ISUCONに出てみたいなと思って、誘ってもらえたので、勉強をし始めたんですよね。
最初は解き方が本当に何もわからない中、いろいろ過去問をやってみて、ISUCON4に出て、それで準優勝をしたような感じだったので。そこが完全に原体験なんですよね。
草野:初手準優勝はやばいな。kazeburoさんはパフォーマンスチューニングの原体験として何があったんですか?
長野雅広氏(以下、長野):最初はやはりお金がないというところです。お金がないから何かしらパフォーマンスチューニングをして、サーバーを軽くしていかないといけないというのが最初です。
草野:「お金がない」というのは会社に?
長野:20年前なので。インターネットがまだまだ初期の頃です。小さい会社にいたので、会社にお金がない、個人にもお金がない、クラウドなんてものもないというところで、1台のサーバーを使い切らないといけなくて、パフォーマンスチューニングをしたのが最初です。
草野:waitaさんは何が原体験ですか?
中西建登氏(以下、中西):そうですね。それこそ私が最初にISUCONに出た時はまだ学生だったので、そういうプロダクショントラフィックとかもなかったので、ISUCONはかなり大きいかなと思います。それこそ、最初に知ったのがアルバイトしていた会社で、その時のCTOは馬場さんだったわけなんですけど。
その会社の先輩がISUCON3の学生枠で本選に出ていて、「こんな大会あるんだ」というところから始まったのが私の原体験です。そこから今はなぜか物理サーバーを触りながらクラウドを提供することにもつながっています。なので、ISUCONの学生枠が個人的な原体験かなという気がします。
草野:じゃあ、そのCTOをしていた馬場さんは何が原体験なんですか?
馬場俊彰氏(以下、馬場):仕事でずっとやってきていたトラブルシューティングですよね。負荷問題で、メディアサイトやメディアサーバーの運用やインフラまわりをやることが多かったので、そのトラブルシューティングとしてチューニングをやっていました。
ISUCONの前にチューニンガソンという似たようなイベントがあって、そこではアプリの中身を触ってはいけないというルールで、インフラのチューニングをしてスコアを出すことをやったりしていました。
その中で、普段やっていることがちゃんとスコアになって競争できるのが楽しかったわけです。そうこうしているうちに、kazeburoさんやtagomorisさんが「アプリに触れないとちょっとまた違うでしょ」とISUCONを始めたと私は認識はしています。
そうするともういよいよ何でもありになってきて。やっぱりできることが多いと楽しくて、それでどんどんハマっていきました。
草野:なるほど。じゃあ組長をトリに置いておいて、自分の先に話します。僕のチューニングの原体験は「ニコニコ動画」です。僕はニコニコ動画プレイヤーを作っていた時期があって。その時の僕の原体験というか、「チューニングする意味があるな」と思った体験で申し訳ないですが。
コメントサーバーでコメントが最大10分で1,000件で、要するにどんなに動画が長くても1,000件のコメントしか受信しないといっていたものが、アニメが始まるから30分になると。30分で1,000件だと薄いから、1分100件にして30分で3,000件。つまり、動画長に対してとりあえず3倍になるような話になりました。取り方も変わって、コメントサーバーが単純に最新のシーケンシャルな感じではなく、1分単位なので、幅々でシーケンシャルな感じになる仕組みになりました。
それをリリースしたら、15秒ぐらいでニコニコ動画が落ちるわけです。負荷に耐えられずコメントサーバーがバンバン落ちていって、どんどん応答不能になると。インフラエンジニアががんばって差し戻して事なきを得るようなことを、3週、4週ぐらいずっとやっていました。
毎週koizukaさん(戀塚昭彦氏)というニコニコ動画のレジェンドなエンジニアが、「今週は2倍速くした」とか、「今週は4倍速くした」とか、「今週は先週に比べて8倍速い」とか言っているわけです。
掛け算なので、倍々にずっと掛け算をしていくと、最初の状態からたぶん300倍ぐらい速くなっていて、300倍速くなると本当に耐えられるようになるんですよね。「300倍速くなるんだ! すごい!」みたいな(笑)。「プログラムで300倍とか普通になるんだ」みたいな話を見ていると、「(300倍にすることで)根本的にレベルが違うことが起こるんだ」みたいな。
同じサーバーで本当に耐えられるし、何だったらサーバーの台数が減るようなことが起こるのを見ると、やっぱり「レジェンドクラスはすごい!」みたいになって。
ちょうどフロントエンド側? ユーザーのパソコンで動くプレイヤーを書いていたのもあって、サーバーサイドでチューニングするというインパクトはメチャクチャ大きいんだと。「かっこいい! いつかやろう」と思いました。
そう思って、その「いつか」が意外とその3年後ぐらいに訪れて(ISUCON 初出場)、メチャクチャにボロ負けをしてすごくツラい思いをして「俺、絶対にISUCON勝ちたいわ」と言ってがんばり始める羽目になって、ISUCONにそのまま人生を吸われているというのが現状です。
なので、ISUCONのおかげでちゃんとチャレンジすることができたんだけれど、ISUCONのおかげで沼から帰ってこれなくなっている感じはあります。
草野:藤原さんの原体験を聞きたいですね。組長がいったいどうやってこんなに強くなったのか。
藤原俊一郎氏(以下、藤原):原体験でいうと2つあります。1つは15年以上前で、当時大学受験情報サイトを仕事でやっていました。その中にセンター試験の解答速報というのがあって。当時のiモードのサイトで(作られていて)、ふだんのトラフィックに比べて、その日だけものすごいピークを(迎えました)。
(一同笑)
土曜日の夜にビョーンッと来るんですよね。それでまんまと落とされました。しかも、そのピークは年に2回しか来ないんですよ。耐えられるようにがんばってチューニングしたとしても、それを次にできるのが結果が出るのが1年後です。
その時に初めてちゃんと複数台構成にして、ロードバランシングしようとか、いろいろ(やりました)。当時はLinuxのLVS(Linux Virtual Server)とか、そういうことをやるしかなかったのが本当に最初です。
あともう1つは、今のカヤックという会社に転職してすぐ(のこと)。「koebu」というサービスがあって、そのサービスのコードの中にすごくやばい地雷みたいなクエリがあって。それを誰かがクリックすると、サイトが落ちるんですよ。
当時はまだデータベースがハードディスクで、ちょっと重いクエリが重なるともう雪ダルマ式に負荷が上がってしまって。そうすると、30分ぐらい返って来ないんですよね。そういうのを転職した直後に見て「スロークエリを見せて」と言ったら「見てもわからないから出していません」と言われて(笑)。しょうがないからスロークエリを出して「これはここにインデックスを貼らないとダメですね」「これはちょっと1回カラムを外に出して正規化をしたらいいんじゃないですか」と言って、入ってすぐにそれを解消しました。
1ヶ月経たない、2週間ぐらいかな? 転職してすぐに、その年のISUCONで勝ちました。その前はすごく小さい会社にいたので、自分の実力がどんなものかもよくわからなかったのですが、意外と通じるなと思ったのが2011年で、ISUCONの初回の年です。
草野:良い話だな。なるほど。ありがとうございます。みんなパフォーマンスチューニングの原体験でけっこうエモい話が出てくるんですね。特にwaitaあたりは学生でISUCONに出て「俺、今かえって来てるわ」みたいな感じのエモい話で。
僕の中にはISUCON優勝者はみんなエモい話を持っている説があって。今までの延べ9,207名の参加者数のうち、優勝経験者は21名だけで、エモいエピソードがあるとISUCONに優勝できるのではという気持ちになります。
みんな練習をいっぱいして「エモいな」みたいな感じになると優勝できる気がしてきました。
草野:パフォーマンスチューニングの原体験はいろいろな人に聞いてみたいです。morisさんの原体験は何だったんだろうと気になります。ISUCONを始める理由。なんで「ISUCONを」となったのか。kazeburoさんは知っていますか?
長野雅広氏(以下、長野):そうですね。当時のライブドアで、主なサービスとしては「livedoor Blog」ですよね。あれに当時も人気のネットブログがいくつかあったので、「落ちないようにがんばろう」みたいなところですね。
草野:941さんが歴史を知っている。なぜISUCONは始まったのか。
941氏(以下、941):こんにちは。長老です。
(一同笑)
941:理由はいろいろあって、まず1つはmorisさんのテンションが上がっていたということです。他のパフォーマンスチューニングのサイトというか、コンテストがあったんですけど、それはPHPに詳しくないとぜんぜん戦えない大会だったらしくて。そうではなくて何でもOKみたいなものがやりたいというのが、沸々とあったらしいということが1つです。
もう1つは、先ほどkazeburoさんがお話されていましたが、いつでも使えるサーバーを準備できていて、それをやる環境が整っていたことが大きいので、その2つの要因かなと思っています。まぁでも、一番大きいのはmorisさんの怒りが発端であると私は認識しています。
草野:怒りか。怒りはやばいな。
馬場:名前を言ってはいけないイベントですね。
(一同笑)
941:はい。あまり。
長野:誰でもやれることじゃないというところですよね。
941:そうですね。
馬場:(その時は)タイミング的に「たまたま100台ぐらいサーバーあるよ」という話でしたよね。
941:そうですね。なので、(サーバーを)3台ずつ配って30チーム(で取り組む)みたいなことが一応。当時は序盤は25チームでしたっけ? そんな感じなはずです。
馬場:新宿の貸し会議室か何かに集まって。
941:予算がなかったから。会社近くで借りました。
草野:「日々いろいろなサービスの性能問題で毎晩障害が出て。いつもやっていたけれど、そのままコンテストにしたかった」というのが、morisさんによる昔の話が混ざった解説らしいですね。
草野:みなさんはまだ夜間に呼び出されているんですか? もうみんなオートヒーリングになった?
中西:(呼び出されないなんて)そんなことはまったくないので。
草野:みなさんのスキルでいい感じに……。
金子:起こる時は起こるので。
中西:集合する時はぜんぜんあります。
草野:僕は、自分がプライベートで抱えるMastodonが、地震が起きるとDBが突き刺さるので、毎回「地震は起きるな」と思っています。地震が来るとみんなインターネットに集中して、インターネットに集合するとSNSが重くなるという。
みんなHTMLテンプレートを書きたくないから、ISUCONの問題はどんどんSPA(Single Page Application)になるんですよね。JSONで返したい、HTMLで返したくないからみんなSPAになる。private-isuで久々に(HTMLで返す問題を見た)。
金子:あれはprivate-isuでテンプレートエンジンを他言語に移植するのが大変すぎて、次は絶対にJSONでしか返したくないとなりました。だからそれ以降の問題はJSONでしか返していないんですよ。
草野:なるほどね。そういう理屈だったのね。
金子:そうですね。しかもあれは初期実装がRubyで、僕が適当に書いたら思いのほか適当で、「これどうやってGoに移植するの? Goに移植するのは僕なんですけど」と。僕が書いたRubyのコードをGoに移植できないってイライラしていました(笑)。
草野:なるほどね。そういう出来事が。ISUCONの作問をするのもなかなか大変ですからね。
(次回に続く)
関連タグ:
ISUCONの達人たちがパフォーマンスチューニングを語る 『達人が教えるWebパフォーマンスチューニング 〜ISUCONから学ぶ高速化の実践』
ISUCONという“戦いの土俵”に立つためのものから珍しい内容まで ISUCON本各章を担当の達人が語る
ISUCONで優勝する方法は? 優勝経験者が語る、チームメンバーと情報共有の重要性
「ベンチマーカーの解像度が高くなると点数はゴリゴリ上がる」 ISUCON経験者が語る、“中毒性”のある動き方
ボトルネックを倒さないと、予選の上位には食い込めない 業務にも活用できる、上位20パーセントに入る方法
ISUCONの始まりは“怒り”がきっかけ 運営実行委員会・941氏が語る、ISUCONの歴史
「使いやすさ」「成果より進捗」「いじりやすいこと」 ISUCONの達人たちが重要視しているパフォーマンス
「『何か1問解いてみる』はメチャクチャおすすめ」 ISUCON本の著者が語る、初心者に向けたアドバイス
ISUCON当日は「ふだんやってないことはやらない」がおすすめ 達人たちが語る、食べ物・飲み物の持参状況
「ISUCONがなかったら、エンジニアとして成長できなかった」 達人たちが語る、実務ではやらない“ISUCONならでは”の技術
2025.02.06
すかいらーく創業者が、社長を辞めて75歳で再起業したわけ “あえて長居させるコーヒー店”の経営に込めるこだわり
PR | 2025.02.07
プロジェクトマネージャーは「無理ゲーを攻略するプレイヤー」 仕事を任せられない管理職のためのマネジメントの秘訣
2025.02.06
落合陽一氏や松尾豊氏の研究は社会に届いているか? ひろゆき氏が語るアカデミアの課題と展望
2025.02.05
「納得しないと動けない部下」を変える3つのステップとは マネージャーの悩みを解消する会話のテクニック
2025.01.07
1月から始めたい「日記」を書く習慣 ビジネスパーソンにおすすめな3つの理由
2025.02.10
A4用紙を持ち歩いて殴り書きでアウトプット コクヨのワークスタイルコンサルタントが語る、2種類のメモ術
2025.02.05
エンジニアとして成功するための秘訣とは? ひろゆき氏が語る、自由な働き方を叶えるアプリ開発とキャリア戦略
2025.02.04
日本企業にありがちな「生産性の低さ」の原因 メーカーの「ちょっとした改善」で勝負が決まる仕組みの落とし穴
2025.02.03
「昔は富豪的プログラミングなんてできなかった」 21歳で「2ちゃんねる」を生んだひろゆき氏が語る開発の裏側
PR | 2025.02.04
能登半島地震で自宅は全壊、「これでどうやってDXするねん」 被災したサイボウズ社員と支援者らが語る災害支援のノウハウ
新人の報連相スキルはマネージメントで引きあげろ!~管理職の「他責思考」を排除~
2025.01.29 - 2025.01.29
【手放すTALK LIVE#45】人と組織のポテンシャルが継承されるソース原理 ~人と組織のポテンシャルが花開く「ソース原理」とは~
2024.12.09 - 2024.12.09
『これで採用はうまくいく』著者が語る、今こそ採用担当に届けたい「口説く」力のすべて
2024.11.29 - 2024.11.29
【著者来館】『成果を上げるプレイングマネジャーは「これ」をやらない』出版記念イベント!
2025.01.10 - 2025.01.10
片付けパパ対談【特別編】 整理術×行動術×メモ術で、仕事も人生も自在にデザイン!
2024.12.16 - 2024.12.16