2024.10.10
将来は卵1パックの価格が2倍に? 多くの日本人が知らない世界の新潮流、「動物福祉」とは
リンクをコピー
記事をブックマーク
草野翔氏(以下、草野):質問が来ていた。「ある程度チューニングできたあとのISUCON特有のスコアを出すところを聞きたいです」。ISUCON特有のスコア、最近の問題でありますか?
藤原俊一郎氏(以下、藤原):特有のというか、実務でやらないのはマスタデータのオンメモリキャッシュとかですよね。
草野:あるわー。
藤原:ISUCONだと1分しかないから、ユーザーがベンチ中に増えないとか、〇〇のデータはベンチ中に変わらないみたいなことが明確にわかります。オンメモリにキャッシュすることは実務では絶対にやりませんが。
ISUCONだと最初にそれをやってもしょうがないので最初はやりませんが、終盤でもうひと押しという時はやりますね。競技的な要素が強すぎてあまり好きではありませんが、背に腹は代えられないので。
草野:ISUCON特有のやつはあと何かあるかな。
金子達哉氏(以下、金子):MySQLまわりだとbinlogの無効とか。あとはわりと安全じゃない設定にするとか。
藤原:fsyncをやめるやつですよね
馬場俊彰氏(以下、馬場):アクセスログを出さないとかね。
藤原:アクセスログを出さないのは最後の最後ですよね。
金子達哉氏(以下、金子):本当に最後の最後です。
藤原:集計できなくなっちゃうので。
金子:残り10分とかにやります。
草野:でもログをとめてそんなにスコアが上がったことがないから、あまり信用していないんだよね。安心のためのおまじないぐらいの気持ちしかない。
藤原:デバッグログを出しているやつは真っ先に止めます。ミドルウェアで無駄に大量に出しているパターンがあって、それは真っ先に止めますが、私(たちのチーム)は、アクセスログは最後までオンかもしれないですね。
草野:止める時は相当詰まった時だな。相当やりきった感が出ていないと、僕(のチーム)も止めない気がします
馬場:私(たちのチーム)も最後にやることリストには入っていますが、本当に最後ですよね。
藤原:ISUCON特有、あとは何だろう。複数台構成を空いているホストにじわじわと振るみたいな。
例えば3台(サーバーが)使えて、(その中に)MySQLが1台(ある)じゃないですか。3台の中で、リソースを割り振りを「こいつはnginxがいて、こいつはアプリケーションサーバーがいるんだけど、ここがちょっと余っているからこっちには何パーセントバランスしよう」みたいなことをして、3台ギリギリにCPUを使い切るみたいなことをやることはあります。
草野:他にもありますか?
金子:他では絶対にやらないなと思ったのは、3台構成だった時にMySQLを2台立てて、レプリケーションを使わずにアプリケーション側でgoroutineを使って、2つのデータベースに対して書き込みして、両方でreadを増やすようなことをやったことがあって。普通に動きますが絶対にやらないなと思いながらコードを書きました。
草野:再起動試験はメチャクチャがんばるな。
藤原:本番でもリリース前に再起動して動かないかどうかぐらいは確認するけど(笑)。
草野:ISUCON特有は何かあるかな。
中西建登氏(以下、中西):それでいうとISUCON10のテスト試験で解いたと思うんですが、2つのテーブルがあって。そのテーブルたちはjoinしていないから片方はサーバーAでMySQLを流して、もう片方はサーバーBからMySQLに置いて、メチャクチャBの性能を稼ぐようなことはありましたね。
金子:それが僕がさっき言ったやつですね。予選でそれをやった。
中西:なるほど。
金子:それはgoroutineでやりました。
草野:メチャクチャやった。
馬場:マイクロサービスみたいなものなので、一周回ってやっているかもしれない。
草野:ISUCON特有というと変ですが、やれることがなくなった気がしたら必ずマニュアルを読み直すのをやっていて。先ほど「アプリケーション要件を変えたい」という話があったじゃないですか。「根本的に変えたい」みたいな。ドキュメントをしっかり読むと「ここは外部サービスにバルクリクエストしてもいい」みたいなことがしれっと書いてあって。でもそれはアプリケーション内から使われてない。
ISUCONの中で、コードだけを読んでいても実はわからない情報が、意外とドキュメントに書いてある時があります。ドキュメントを読まない勢では一生気付けないものとか、流し読み勢は一生気付けないものもあるので、もう1回読み直す。わりと気軽な気持ちで読み返しています。
(そうすると)意外とそういうことが書いてある。「何秒キャッシュしていい」みたいなのが書いてあるなら「やっていいんだな」と思ってやったりとかはします。
ISUCON9の本選の新幹線予約みたいなやつで、これは騙されたというかピットフォールにハマっただけなんだけど。予約の残りの「残席数があります」「ありません」「残り少ないです」みたいなものを〇・△・×で出すところで、「高負荷時は間違っていてもいい」と書いてあって。
チーム内で「高負荷時っていつだ?」みたいな話になって、「ISUCONでベンチで負荷がかかっているんだからいつでも高負荷時だろ」みたいことがあって、ずっと〇だけ返し続けるパッチを入れたら速攻で怒られて、ぜんぜんダメでした。
(一同笑)
草野:リバートするとか。「5秒で入れられるから1回やって、これでもしよくなったら計算がまるっといらなくなるし、とりあえず1回やってみようぜ」みたいなことはけっこうやりがちです。とりあえず気軽な気持ちで入れて、ベンチに怒られないか試してみることはやりがちです。
ISUCONだけのテクニックは、ISUCON本を見ていると、ISUCONだけのテクニック運用がうようよ出てきます。
草野:いったんこれで来ている質問にはだいたい答え切れた気がしています。いろいろなことをやりながら、いろいろやってほしいなという気持ちで、みんなにISUCONに参加してほしいなとか、ISUCONに参加せずとも、ISUCON本を読んで、ISUCONという競技から学べることはたくさんあったと思っています。
今並んでいるこの著者6人も、きっとISUCONのおかげで業務で幸せになって勝ちまくり・モテまくりみたいなことが起きているはずなので。というか、みなさんISUCONで学んだことで勝ちまくりみたいなことはありました? 僕はちなみにマジでありました。
金子:僕は前から言っていますが、エンジニアとして育ててもらったのは、やはりISUCONコミュニティだなと思っています。
藤原:僕もですね。
金子:ISUCONがなかったら、やはりエンジニアとして成長できなかったと僕は思っています。
草野:「ISUCONをやるとPR TIMESのCTOになれる」みたいな話になってきましたけど大丈夫ですか?
(一同笑)
金子:まぁいいんじゃないですか(笑)。じゃあそういうことで(笑)。
草野:やばいなぁ(笑)。誇大広告(だと誤解されないか)とか大丈夫かな? CTOになれるかはまた別な気がしますが、本当にエンジニアとして成長できるイベントだと思うし、僕はISUCONに参加した時にわからないことがけっこうハッキリしたので。
わからないことがハッキリすると勉強のしようがあって楽しい。毎年(ISUCONに)出たり関わったりする中で「これはぜんぜんわからんわ」みたいなのが毎年1個ぐらいあるんですよ。
ISUCON11の時だと、PDFを生成したりzipを生成することを速くする方法がぜんぜん意味がわからなくて、「ぜんぜんわからないな」と思っていましたが、いっぱい方法があることを勉強したり。そういうことがけっこうあったので、毎年わからないことが増えていく、いいイベントだと思っています。
そういう意味で「わからないことは何だろうな」と思いながら本を読んでもらったり、付録A・Bを読んでもらったり、全9章を読んでもらったりとかすると、みなさんの実務の役にも、人生の勉強にも役に立つのかなと思っています。ぜひぜひ本を買ったりISUCONに参加したりして、一緒に遊んでいただけるとうれしいなと思っています。
ちょうど2時間ぐらいですかね。みんなお付き合いいただきありがとうございました。ということでみなさんお疲れ様でした。拍手!
(一同拍手)
馬場:終わったら拍手(笑)。
草野:始まる時も拍手(笑)。一応ね、今日のライブが始まった瞬間みんな拍手しましたよ。もうWebですが、続きはWebでという話で。まだやるんですよ。@isucon_officialというTwitterアカウントのスペースでやるらしいので、著者のみなさんはがんばって携帯にうまく音声を入れる方法を今から勉強してください。「最速いい感じ音声入力コンテスト」が今から始まるので、みなさん続きはWebでよろしくお願いします。今日はお付き合いいただきありがとうございました。
一同:ありがとうございました。
草野:次のISUCONで会いましょう。
(一同笑)
関連タグ:
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
よってたかってハイリスクのビジネスモデルに仕立て上げるステークホルダー 「社会的理由」が求められる時代の起業戦略