ISUCON公式Blog

WINNER'S PRIZE \1,000,000



   

LINEが主催するパフォーマンスチューニングコンテスト ISUCON7のオンライン予選、皆さんもうすでにお申込みは完了されましたでしょうか?お申込みはこちらからですので、ギリギリにならないよう早めにお申込みください。ISUCONで勝つためには「申込をする」が最重要ですよ!
ISUCON7 オンライン予選の参加登録を開始&参加チームとメンバーリスト : ISUCON公式Blog

さて、そろそろ締め切りも近くなってまいりました。「もし出場しようか悩んでいるという方がいたらこれはまずい!」と思い、過去のISUCONで優勝した経験をお持ちの皆さんに
  • あなたにとってISUCONはどんなイベントですか
  • 優勝した時の勝因は何でしたか
  • 参加しよう、してみたいという人に向けて一言お願いします!
  • というのをセットで聞いてみました。

    参考までに、ISUCONは過去6回開催されており1チーム3名が標準的ですので18名の優勝者がいる計算ですが連覇や複数回優勝を成し遂げているチームが多いため、実際には優勝経験者は9名となっています。インタビューしてみたら何だか豪華な布陣となったので満足しています。


    というわけで、あなたにとってのISUCONが始まりますように!ちなみに過去問への挑戦などはPC版でこのエントリを見た際、左カラムにそれぞれまとめがありますのでご参照ください。 ではどうぞ!

    @tagomoris さん

    2Otf6_Ln_400x400
    Twitter:@tagomoris Blog:たごもりすメモ
    過去の戦績:ISUCON1 出題、ISUCON2 出題、ISUCON3 優勝、ISUCON4 優勝、ISUCON5 出題
    tagomorisさんはISUCONの創設者でもあります。

    あなたにとってISUCONはどんなイベントですか?

    自分にとっては、年に一度のガチンコ勝負、という感じのイベントです。
    普段だと働いている場所や状況などによって「何ができるか」「何をしたらよいか」は異なるのが当たり前ですが、ISUCONに限っては全員が同じ状況で、同じ目的で作業をします。
    自分が適切なことを高いパフォーマンスで行えるかどうかを客観的に見られる、非常に貴重で楽しい機会です。

    優勝した時の勝因は何でしたか

    まずWebアプリケーションとして必要な改善をひと通り行えたこと(低パフォーマンスクエリの改善やDBスキーマ変更、非効率ロジックの改善、複数台構成への変更など)、その上で課題アプリケーションに特化したプラスアルファの変更が行えたことだと思います。
    レスポンストラフィックのデータ特性(高解像度の写真)にあわせたデータ前処理、ISUCON4の場合はWebのキャッシュの有効化、などの状況によって異なる、現実のアプリケーションについて回るポイントを抑えられたのが勝因の最後のひとつでしょうか。

    参加しよう、してみたいという人に向けて一言!

    自分に何ができて何ができないかを正面から見詰めるのは、精神的にしんどいものでもありますが、同時に非常に楽しく後々のためになるものでもあります。
    またISUCONは参加するだけで非常に疲れますし、休日を使うことにもなりますが、他では決して得られない経験が得られると断言できるでしょう。
    さあ、勝利の瞬間のガッツポーズというプログラマ生活に滅多にない体験をいっしょに目指してみようじゃないか!


    Read more...

    ISUCON7 オンライン予選の参加登録を開始&参加チームとメンバーリストにてお知らせしていました課題アプリケーションの実装について、お手伝いいただける方を募集いたします。オンライン予選の開催まで残り時間が少ないですが是非ご協力ください。

    PHP,Go,Pythonは出題側で用意する予定ですが、Ruby,Perl,Node.jsについてお手伝いいただける方はご協力ください。応募がない場合は残念ながら予選・本選における参考実装が提供されない可能性がありますので是非宜しくお願いいたします。

    お手伝いいただく場合はISUCON7には参加できませんのでご了承ください。謝礼などは出ない予定ですが、ISUCON7の出題チームとして予選・本選にご参加いただけます。問題の修正なども発生する可能性がありますので予選・本選の前後の期間は忙しくなる可能性が高いです。

    すでにISUCON7に応募済みの方で、参加辞退したうえでお手伝いいただける場合はご連絡ください。こちらで参加チームのメンバー変更など行ないます。

    応募はこちらから
    ISUCON7 課題アプリケーション実装お手伝い申し込みフォーム

    応募締切は 10月9日(月) まで。お手伝いいただくか否かは締切後すぐにご連絡いたします。宜しくお願いします!

    Read more...

    こんにちは、ISUCON7で出題者チームになった @methane こと KLab の稲田です。

    そろそろ皆さん準備を始められていますか?
    歴代の猛者の方の中には「普段やってることを普段通りにやるチームが強い」と言う人もいますが、普段通りにするだけで試合を有意義に戦えるチームはごく一握りです。
    ISUCONの試合中の緊張感は、本物の障害対応と似ています。違うのは、楽しさと苦しさのバランスと、事前に決まった終了時間があることだけです。

    そんな緊張の中で競技を楽しむには、練習をしていたほうが圧倒的に有利です。
    初代ISUCONの出題者であり、何度も優勝されてる tagomoris さんいわく、ISUCON参加前と参加後に最も多くのものを持ち帰った人こそが勝者です。勝者となるためにも、事前に練習して、競技時間を有意義に楽しみましょう。

    さて、「何を」練習すればいいかについては、ISUCON 夏期講習 2017 を開催しました(当日の資料あり)にある @fujiwara さんの資料がとても参考になるので読んでおいてください。

    私からは「どうやって」練習すればいいかのオススメを紹介しておきます。
    一番してほしいのは、なるべくチームでのリハーサル形式の練習です。まとまって1試合分の時間が取れない場合でも、試合開始後2~3時間程度の流れだけでもしておいた方が良いと思います。

    具体的には、 @fujiwara さんの資料にもある次のようなことを、ちゃんと手を動かして練習し、手順書やメモを残すなどして当日にググらなくても良いようにしておくことで、試合中により多くの時間をチューニングに集中することができるはずです。

  • ssh の設定
  • 例えばメンバーの公開鍵を登録して公開鍵認証にするなら、設定して sshd を再起動した後に、そのログインセッションを維持したまま、他の端末から ssh できることを絶対に確認しておきましょう。ここでミスってログインできなくなると、試合開始後3分でISUCONが終わってしまいます。

  • バックアップとリカバリ
  • 設定ファイル、データベース、その他の必要なファイルを確認し、自分のPCかクラウドに転送しておく。ファイルをバックアップしたつもりが、シンボリックリンクだけが入ってたなんてことがないように、中身も確認しておく。クラウドサービスを使う場合は、外部から見えないことを確認しておく。(公開されているのを見つけたら失格です。)また、本番では必要にならないかもしれませんが、リカバリも練習しておきましょう。バックアップができていることの確認にもなりますし、もし本当に必要になったときは確実にテンパっているからです。

  • systemctl 等の管理コマンド
  • どんなプロセスが動いているかを確認し、不要だとわかったデーモンを止めたり、ログの読み方 (
    /var/log/
    以下にログが書かれるのか、
    journalctl
    を使うのかなど) を確認しましょう。

  • モニタリングツール
  • 使い慣れたものがない場合は、資料にある netdata が良いと思います。インストールと、その見かたを把握しておきましょう。

  • プロファイリングツール
  • alp などのアクセスログを集計して重いリクエストを見つけましょう。 pt-query-digest などのツールを使って重いクエリを見つけましょう。その他、使用するかもしれない、アプリやプログラミング言語ごとのツールの使い方、結果の読み方を、手と目と頭を使って確認しておきましょう。

    それ以外にも、初期は確認・調査するべき事がたくさんあるので、誰が何をするのかの役割分担と、その手順を確認しておきましょう。アクセスログの集計ツールなどを普段使っていない場合は、ちゃんとインストールしてから動かすまでを実際にしてみましょう。より長い時間をチューニングに使うことができますよ。リハーサル形式の練習の題材としては、去年のISUCONの予選か、pixiv さんの社内ISUCONを利用すると良いと思います。

    古いISUCONの問題は、特に変化が激しい言語だと動かすことすらままならないかもしれません。また、本戦の問題は、毎年何かしらクセのある問題なので、あまり事前練習には向かないと思います。上記の2問については、まだ1年しか経っていませんし、重いクエリを見つけて解決するといった定番のチューニングの練習ができると思います。 ただし、pixiv private isucon はディストリビューションとして Debian を利用していますが、予選ではUbuntuを利用する予定なので、練習するときはディストリビューションによる違いに気をつけてください。

    さらにチューニングの練習をしたい場合は、まず自力でできるところまでチューニングしてみて、その後解説・攻略記事を探してそれに習って高得点を出してみましょう。 pixiv 社内 ISUCON については私が書いた攻略記 もあるので参考にしてください。

    攻略記事を参考にするときは、単に同じことを実装してみるだけでなく、どうすればそのチューニングをすればいいことにノーヒントで気づけたかを考えましょう。チューニングをする前に、自分のサーバーでモニタリングソフトを動かしてダッシュボードを見たり、プロファイルを解析したり、 netstat (今時なら ss 等) してみたりして、「よし、本番では自力でこれに気づくぞ!」と思えるようになりましょう。知識不足を痛感したときは勉強のチャンスです。

    さらに余力がある人は、過去の猛者たちの攻略記を、「どうすれば自分もこのように戦えるだろうか」と考えながら読んでみると、いろいろなヒントや練習すべきポイントが見つけられるかもしれません。
    Read more...

    【7/28 20:10追記】
    開催日の曜日に間違いがありましたので修正いたしました
    --
    学生限定となりますが参加者募集です!ちょっと締切が早いのでご注意ください!
    30

    というわけで、ISUCON7 開催&日程決定!にてお知らせいたしましたが、今年も本選に学生枠を設けます。

    予選に先立ち、学生限定イベントとして「ISUCON 夏期講習2017」を主催でありますLINE株式会社の新宿ミライナタワーにて実施することとしました。ご参加いただく皆さんには過去問にチャレンジしていただきながら、面白法人カヤックのfujiwaraさんを講師に迎えスコアアップのコツなどを解説していただきます。是非ご参加ください!
    ※fujiwaraさんはISUCON1,2,5 と三度の優勝経験を持ち、ISUCON3では出題も行っていただいたというISUCON講師として最強レベルの方でございます

    なお、今回の夏期講習参加について旅費負担をおこないますので、以下の条件がありますがご参照のうえ是非ご活用ください。
  • 関東以外の方を対象
  • 飛行機や新幹線などのご予約はご自身で行っていただきます
  • 上限はお一人税込み3万円まで
  • お申込み時に往復費用をご連絡いただく必要があります、ご注意ください

    ISUCONとは

    お題となるWebサービスを決められたレギュレーションの中で限界まで高速化を図るチューニングバトル、それがISUCONです。過去の実績も所属している会社も全く関係ない、結果が全てのガチンコバトルです。優勝賞金は今年もドドンと100万円、学生枠でも賞金が出たりと超ウルトラ太っ腹コンテストとなっております。


    ISUCON夏期講習2017 イベント内容

  • インフラエンジニアの仕事内容をご紹介
  • ISUCONの説明
  • 過去問題に参加者全員でチャレンジ
  • スコアアップのコツを解説

  • といった内容を予定しています。

    参加者の方には、こちらで用意したLinuxサーバ環境で過去問題にチャレンジしていただきます。当日は、お使いになるPC (ssh接続が可能なもの) をご持参ください。

    イベント終了後、LINE株式会社のスタッフを含め懇親会を開催いたします。是非お越しください。なお、一緒にISUCONに参加するチームメンバーの募集も当日おこなっていただけます



    開催概要


    【日程】2017年8月25日(金)
    【時間】13:30開場 14:00開始 18:00 終了予定(終わり次第、懇親会を予定)
    【場所】LINE株式会社
    〒160-0022 東京都新宿区新宿四丁目1番6号 JR新宿ミライナタワー23階
    【定員】30名
    【参加費】懇親会を含め無料
    【必須の経験・スキル】
  • 学部生・院生共に学年不問
  • 理系・文系問わずWebエンジニアに興味のある方
  • 基本的なプログラミング経験のある方(Perl/Ruby/Python/PHP/Node.js/Goのいずれかでのプログラミングが可能であること)
  • RDBMS(MySQL)を使用したプログラミング経験のある方
  • LinuxやMac OSX等のUNIX系OSで基本的な操作が行える方
  • 開発作業が可能なノートPCをご持参ください


  • 申し込み方法

    参加希望の方は応募フォームからご応募ください。
    ISUCON夏期講習2017 参加登録フォーム
    ※締切は8月6日(日)23:00です
    ※人数に限りがございますので、応募者多数の場合は抽選とさせていただきます
    ※抽選とならなかった場合も締切後にご連絡いたします


    不明な点などは ISUCON公式Twitter @isucon_official までお願いします。DMはどなたからでも受け取れますのでご連絡ください。

    皆さんのご応募をお待ちしております!

    謝辞
    ISUCON夏期講習2017 に関して、予選と本選でサーバをご提供いただく予定であるさくらインターネットさまに運営用サーバをご提供いただいております。誠にありがとうございます!
    Read more...

    9/18 20:49【追記】
    順位に不備があったため修正いたしました、詳細は本文をご覧ください。

    --
    ISUCON6 本選出場者が決まりましたのでお知らせいたします。
    1日目、2日目を通して実際にスコアが登録されたのは251チーム、合計14,421回のベンチマークが実行されました。これは平均すると1チームあたり57.4回実行されたことになります。

    おさらいですが、本選出場へ参加する条件は以下となっています。

    ・予選各日の終了時スコアにおける上位3チーム
    ・予選両日を通し、1の該当チームを除いた中での上位9チーム
    ・予選両日を通し学生枠参加チーム内における上位10チーム
     ※ただし、学生チームが一般枠の基準で通過した場合、学生枠はそのチームを含めずに10チームを選出する

    追記
    当初「運営へのアカウント共有設定が無かった」として「オシャレ怪盗スワロウテイル」チームが失格となっていましたが、再検証の結果、共有設定が確認できました。運営側の不備ですので、協議の結果上位9チームに1チーム追加し上位10チームを本選出場といたします。
    追記ここまで

    結果、本選出場者は以下のようになりました。チーム名とスコアのセットで表記しています。代表者の方へはあらためてメールにてご連絡いたしますのでお待ち下さい。参加者の皆さん、インスタンスは停止していただいてOKです。

    予選第1日目TOP3枠
    1. この技術部には問題がある! 251,425
    2. 山形組 223,103
    3. Anago 164,270

    予選第2日目TOP3枠
    1. negainoido 172,427
    2. 流れ弾 155,568
    3. 坂寝 148,431

    それらを除いた上位10チーム
    1. それぞれの椅子 155,999
    2. 一元 153,749
    3. しましまスペシャル 147,028
    4. morimoto組 143,366
    5. にるぽ 124,271
    6. 円山町 118,499
    7. ご注文はpoyoですか? 101,690
    8. Jingisukan 100,384
    9. オシャレ怪盗スワロウテイル 95,289
    10. 反社会性 90,214

    以下の4チームは、最終スコアは上位10チームを上回っていたものの、それぞれ下記の理由により失格となりました。

    再起動後のチェックで正しいレスポンスを返せなかった
    ・ヴェンティッグ
    ・チームおにやんま

    指定されたリソースグループ内にインスタンスが無かった
    ・堕天php

    2日の競技を通した最高スコアは、「反社会性」チームによる 323,037 でした。ちなみに学生のチームでした。「反社会性」チームは最終スコアでも 90,214 で学生枠ながら一般枠での通過となりました。

    学生枠
    1. チームえっち 72,010
    2. Catechin 62,116
    3. (´・ω・`) 44,205
    4. チーム卒業 42,979
    5. balss 23,129
    6. エンボディパイプ椅子 22,479
    7. atom 22,191
    8. : innocent: 19,610
    9. kstm 18,223
    10. RUDT 16,052


    以上、 26 チームが本選出場となります。

    本選は10月22日(土)に LINE株式会社の渋谷ヒカリエオフィスにて行います。本選参加は当日渋谷ヒカリエにお越しいただける方のみとし、オンラインでの参加は不可とします。また、予選と本選でチームメンバーの交代は出来ませんのでご注意ください。

    本選出場チームの代表の方へはあらためてご連絡いたしますので、お待ちください。オンライン予選にご参加いただいた皆さん、まことにありがとうございました。


    ご参加いただいた皆さんの感想などはこちらにまとめています。
    ISUCON6 オンライン予選 Tweet まとめ#isucon - Togetterまとめ
    ISUCON6 オンライン予選 関連エントリまとめ : ISUCON公式Blog

    Read more...

    ↑このページのトップヘ