2024.10.10
将来は卵1パックの価格が2倍に? 多くの日本人が知らない世界の新潮流、「動物福祉」とは
リンクをコピー
記事をブックマーク
藤原俊一郎氏(以下、藤原):Twitterで「優勝じゃなくて予選の上位20パーセントに入る方法が知りたい」というものが流れています。
草野翔氏(以下、草野):そうなんですよね。
藤原:優勝は何百分の1なので、そんなに多い数字ではない。
草野:でも上位20パーセントも同じことなんだよね。
藤原:20パーセントだと、チームワークとかではなくて、1人でもいきやすいじゃないですか。
草野:怪力で。
藤原:技術的なことでまだいけそうじゃないですかね。予選通過はちょっとキツイですが。20パーセント、上位100位ぐらいであれば、1人でもスコアを出せると思うんですよね。
草野:技術的なことで言うと、やらないことが増える度に点数が上がりますね。見つけたものを端からやらない。参考実装を開いた瞬間に、観光名所が出てきたりするじゃないですか。とても長いSQLクエリが出てきて、「これは絶対にやばい」ということが一瞬でわかるんだけど、その一瞬でわかったものをやらずに、ちゃんとモニタリングをして順番に効くことをしていけるか。
もしくは、初手、直すべきところがわかりきっていところは何も考えずに手が動くとか。「何をやらないか」のほうが、点に響く気がします。そういう感じはないですか?
金子達哉氏(以下、金子):付録Aにありましたよね。
草野:付録Aにそういうことが書いてあるんだけれど。
(一同笑)
金子:付録Aみたいな解き方ができると理想的だよなと思います。
藤原:順番にちゃんと重いところから倒す、みたいな感じですよね。
草野:そうそう。重いところを倒さないと次の重いところがわからないんですよね。
藤原:そうですよね。付録Aのネタばらし的な話をちょっとすると、付録Aの範囲だと最初に650点から30万点まで行くんですが、その中で、最初に追加したインデックスをDROP INDEXすると1万点になっちゃうということがあって。とにかくボトルネックのインデックスを倒さないと、いくら他のことをやってもぜんぜん上がらないという、すごくいい実例になっています。
草野:へー。
藤原:「ボトルネック以外を倒すと上がりませんよ」ということは何度でも言いたい。
草野:メチャクチャいい話。
馬場俊彰氏(以下、馬場):確かに。
藤原:ボトルネックというものは「他のアプリケーションではこれが効いたんだよな」みたいなやつをやっても効かないんですよ。
草野:あー。
藤原:ISUCONに限らず本当に見たほうがいいです。これは業務のパフォーマンスチューニングでもなんでもそうですが、「前にこれが効いたはずだ」ということをいくらがんばっても、本当に重いところじゃないと何も意味がなくて、時間だけが無駄になるので。
金子:最近のISUCONはN+1が多すぎて、時間内で絶対に全部直しきれないんですよね。だから、本当にボトルネックになっているところをちゃんと見つけないと、やはり上位には食い込めないんですよね。
藤原:これはISUCONに限らず、ISUCONはなおさら時間が厳しいからそうなんだけど、業務では「チューニングしようと思っても、一番ヤバイところから直さないと意味ないですよ」ということは、本を通して言いたいですね。
馬場:ということを1章に滔々と書いてあります。
(一同笑)
草野:すごい! すばらしい! みんな販促がうまいね。
藤原:1章にも書いてあるし、あちこちにも書いていますね。
馬場:そうなんですよね。業務でも使うから本に残したいし、みんなに読んでほしいんですよね。
草野:そうですね。それはメチャクチャそう思います。
草野:僕は白金動物園の飛び道具担当で、ワンチャン「お前、今すぐこの問題用のリバースプロキシを書け」みたいなことを言われる立場にあるんですけれど。そういう人が1人チームにいると確かに便利な時はありますが、妥当なことができないと次の問題に役に立たないんですよね。
(それは)その年の問題にたまたま合致するかしないか博打の話になってきて、たぶん博打だと、上位20パーセントという、予選を突破する枠にちゃんと入り続けるのはかなり厳しくて。僕のチームの本選出場率が50パーセントなのは、たぶんそういう理由です。
正直、博打がハマるとうまく行くみたいなチームではあるので、でもそれがうまくちゃんと最適化されて、「まともなことをやるぞ」という空気になってISUCON9の優勝があったという感じがしています。
ちゃんとまとまった勉強をしておくことは、すごく効く気がします。何の問題にでも役に立つような、まともなことをちゃんとやっておくのが僕の中ではすごい効く気がしています。
中西建登氏(以下、中西):でも博打を打ってうまくいくようなパターンがあるということは、他の2人がまともなことをやって、ちゃんと博打が効くようなところまでは到達しているということでもあるので、それは前提ですよね。
草野:大前提はそうですね。
草野:(コメント欄より)先日(2022年5月25日〜26日)のAWSサミットの「AWSのSAがISUCONに挑戦」(というセッション)。みなさん見ましたか?
藤原:見ましたね。
草野:僕は見ました。あれはすごく楽しかったです。「というセッションをおもしろく見ていたのですが、達人のみなさんの感想を聞いてみたいです」。じゃあ見た人に1つずつ聞いていきますか。藤原さんはどうでしたか?
藤原:そうですね。あれはけっこう事前準備をしていて、事前準備をした上でデプロイするのが30分の間だったのですが、何を準備したのかはもうちょっと知りたいですね。何をしたのかがわからないでスコアが上がっても、なんというか「そうだね」としか言えなくて(笑)。おもしろかったんですけど、あとでブログでやったことを全部大公開してほしいなと思いました。
草野:馬場さんは見ました?
馬場:見ました。
草野:どうでした?
馬場:マネージドサービスが使えたらいいと思います。予選とかは小さいインスタンスでみんながんばっているので。「何千円とか何万円とか、自分で払うから」と思ったことは何度もあります。
(一同笑)
草野:catatsuyさんはどうでした? 見ました?
金子:見ました。すごくおもしろかったですが、藤原さんと同じで、何をやったかはあまり説明されていなかったので、何をやったのかちゃんと見たいのと、あとはそのうち「優勝チームが実はAIでした」みたいな未来がありそうだなと思いました。
草野:GitHub CopilotにISUCONをクリアされる未来。
金子:ありそうだなと思って。
草野:みんなのコミットログが毎年上がっているので、Copilot的にはISUCONの倒し方の学習データが増えているはずなんですけどね(笑)。kazeburoさんは見ました?
長野雅広氏(以下、長野):自分は見ていないですね。
草野:なるほど。じゃあログを見たあとに感想ブログをお待ちしています。
長野:はい。
(一同笑)
草野:waitaさん見ました?
中西:はい。見ました。みなさんが言ったことで、そのとおりかなという気はします。やはり初手Auroraでぶち込むのは強いよなと思いつつ、ただ、確かそれだけでは優勝スコアにいっていないんですよね。
草野:行ってないですね。確か……あれ、いくつだったっけ?
中西:30万点ぐらいかな?
藤原:予選トップが100万点を超えているので。
中西:そうなると、やっぱりそうじゃないところにもISUCONのおもしろみはあるんだなというのがすごくおもしろかったです。
草野:ありがとうございます。僕もちゃんと見ましたが、僕はみなさんと違って、いくらかかったか教えてほしいですね。
(一同笑)
草野:つまり、我々の技術力によっていくらのコストが浮いているのかが知りたいです。「初手Auroraで巨大なものを入れています」みたいなことが書いてあったけれど「そのAuroraはプログラミング次第では使わなくていいわけなので、大変コストに効いているのでは」とか。
その資料がAWS公式から出てきたら「パフォーマンスチューニングをしましょうよ」と言いやすくなるし、うれしいんだけどなと思いながら見つめていました。いくらかかったかあとで公開してほしいなと思っています。
藤原:そうですね。先ほどベンチマーカーの話があったので言いますが、ベンチマーカーはレイテンシーが長いと、次のリクエストが送れないので回転しないじゃないですか。なので、何もしないでAuroraの大きいインスタンスを使っても、別にレイテンシーは変わらないので、例えばインデックスがなかったら、並列には耐えられるけど、1発の速さは遅いじゃないですか。
だから、ベンチマーカーはそんなに上がらないんですよね。大きいAuroraでインデックスを使えないクエリのフルスキャンが速くなるわけじゃないから、やはりお金だけでは絶対解決できないなという感じはします。
草野:とは言え、本選でお金を積んで使えるなら積みますけどね。
(一同笑)
金子:N+1クエリとかは速くなるから最高ですね。
(次回に続く)
関連タグ:
ISUCONの達人たちがパフォーマンスチューニングを語る 『達人が教えるWebパフォーマンスチューニング 〜ISUCONから学ぶ高速化の実践』
ISUCONという“戦いの土俵”に立つためのものから珍しい内容まで ISUCON本各章を担当の達人が語る
ISUCONで優勝する方法は? 優勝経験者が語る、チームメンバーと情報共有の重要性
「ベンチマーカーの解像度が高くなると点数はゴリゴリ上がる」 ISUCON経験者が語る、“中毒性”のある動き方
ボトルネックを倒さないと、予選の上位には食い込めない 業務にも活用できる、上位20パーセントに入る方法
ISUCONの始まりは“怒り”がきっかけ 運営実行委員会・941氏が語る、ISUCONの歴史
「使いやすさ」「成果より進捗」「いじりやすいこと」 ISUCONの達人たちが重要視しているパフォーマンス
「『何か1問解いてみる』はメチャクチャおすすめ」 ISUCON本の著者が語る、初心者に向けたアドバイス
ISUCON当日は「ふだんやってないことはやらない」がおすすめ 達人たちが語る、食べ物・飲み物の持参状況
「ISUCONがなかったら、エンジニアとして成長できなかった」 達人たちが語る、実務ではやらない“ISUCONならでは”の技術
2024.11.13
週3日働いて年収2,000万稼ぐ元印刷屋のおじさん 好きなことだけして楽に稼ぐ3つのパターン
2024.11.11
自分の「本質的な才能」が見つかる一番簡単な質問 他者から「すごい」と思われても意外と気づかないのが才能
2024.11.13
“退職者が出た時の会社の対応”を従業員は見ている 離職防止策の前に見つめ直したい、部下との向き合い方
2024.11.12
自分の人生にプラスに働く「イライラ」は才能 自分の強みや才能につながる“良いイライラ”を見分けるポイント
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
2024.11.11
気づいたら借金、倒産して身ぐるみを剥がされる経営者 起業に「立派な動機」を求められる恐ろしさ
2024.11.11
「退職代行」を使われた管理職の本音と葛藤 メディアで話題、利用者が右肩上がり…企業が置かれている現状とは
2024.11.18
20名の会社でGoogleの採用を真似するのはもったいない 人手不足の時代における「脱能力主義」のヒント
2024.11.12
先週まで元気だったのに、突然辞める「びっくり退職」 退職代行サービスの影響も?上司と部下の“すれ違い”が起きる原因
2024.11.14
よってたかってハイリスクのビジネスモデルに仕立て上げるステークホルダー 「社会的理由」が求められる時代の起業戦略