2024.12.10
“放置系”なのにサイバー攻撃を監視・検知、「統合ログ管理ツール」とは 最先端のログ管理体制を実現する方法
リンクをコピー
記事をブックマーク
草野翔氏(以下、草野):質問が来ていた。「ある程度チューニングできたあとの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.12.10
メールのラリー回数でわかる「評価されない人」の特徴 職場での評価を下げる行動5選
2024.12.09
10点満点中7点の部下に言うべきこと 部下を育成できない上司の特徴トップ5
2024.12.09
国内の有名ホテルでは、マグロ丼がなんと1杯「24,000円」 「良いものをより安く」を追いすぎた日本にとって値上げが重要な理由
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
2024.12.10
職場であえて「不機嫌」を出したほうがいいタイプ NOと言えない人のための人間関係をラクにするヒント
2024.12.12
会議で発言しやすくなる「心理的安全性」を高めるには ファシリテーションがうまい人の3つの条件
2024.12.06
嫌いな相手の行動が気になって仕方ない… 臨床心理士が教える、人間関係のストレスを軽くする知恵
PR | 2024.11.26
なぜ電話営業はなくならない?その要因は「属人化」 通話内容をデータ化するZoomのクラウドサービス活用術
2024.12.11
大企業への転職前に感じた、「なんか違うかも」の違和感の正体 「親が喜ぶ」「モテそう」ではない、自分の判断基準を持つカギ
PR | 2024.11.22
「闇雲なAI導入」から脱却せよ Zoom・パーソル・THE GUILD幹部が語る、従業員と顧客体験を高めるAI戦略の要諦