GithubHelp home page GithubHelp logo

s-you / isucon12-qualify Goto Github PK

View Code? Open in Web Editor NEW

This project forked from isucon/isucon12-qualify

0.0 1.0 0.0 19.67 MB

License: MIT License

Shell 0.32% JavaScript 0.21% Ruby 5.10% Python 4.68% Perl 5.90% PHP 10.23% Java 13.22% Go 37.53% Rust 7.47% TypeScript 7.12% CSS 0.07% Makefile 0.32% HTML 0.23% HCL 0.43% Vue 6.35% Dockerfile 0.80%

isucon12-qualify's Introduction

ISUCON12 予選問題

ディレクトリ構成

.
+- webapp     # 各言語の参考実装
+- bench      # ベンチマーカー
+- public     # Webフロント用の静的ファイル
+- frontend   # Webフロント
+- blackauth  # 動作確認をするためのJWTを返すAPI
+- nginx      # 初期状態のnginx設定ファイル
+- data       # 初期データ生成
+- probisioning # セットアップ用

JWTに利用する鍵について

ISUCON12 予選ではウェブアプリケーションのログインに JWT を利用しています。 JWT を生成・検証するための公開鍵・秘密鍵はそれぞれ以下に配置されています。

  • 秘密鍵(すべて同じ内容です)
    • bench/isuports.pem
    • blackauth/isuports.pem
  • 公開鍵
    • webapp/public.pem

ISUCON12予選のインスタンスタイプ

  • 競技者 VM 3台
    • InstanceType: c5.large (2vCPU, 4GiB Mem)
    • VolumeType: gp3 20GB
  • ベンチマーカー VM 1台
    • ECS Fargate (4vCPU, 8GB Mem)

AWS上での過去問環境の構築方法

用意されたAMIを利用する場合

リージョン ap-northeast-1 AMI-ID ami-0ca04106bc403aeac で起動してください。 このAMIは予告なく利用できなくなる可能性があります。

  • 起動に必要なEBSのサイズは最低8GBですが、ベンチマーク中にデータが増えると溢れる可能性があるため、大きめに設定することをお勧めします(競技環境では20GiB)
  • セキュリティグループはTCP 443, 22を必要に応じて開放してください
  • 適切なインスタンスプロファイルを設定することで、セッションマネージャーによる接続が可能です
  • 起動時に指定したキーペアで ubuntu ユーザーでSSH可能です
    • その後 sudo su - isuconisucon ユーザーに切り替えてください
  • ベンチマーカーは /home/isucon/bench 以下にビルド済みのバイナリがあります
    • 自分でビルドする場合は適宜 Go 1.18.x をインストールして、/home/isucon/bench 以下で make を実行してください
$ cd /home/isucon/bench
$ ./bench                               # 127.0.0.1:443 に対して実行
% ./bench -target-addr 203.0.113.1:443  # IPアドレスを指定し別のホストに対して実行

用意されたCloudFormationテンプレートを利用する場合

cloudformation.yaml を利用して、CloudFormationによって環境を起動できます。使用するAMIは上記「用意されたAMIを利用する場合」と同じもののため、予告なく利用できなくなる可能性があります。

  • 使用できるリージョンは ap-northeast-1 のみです
  • EC2 (c5.large) が3台起動するため、課金額には注意して下さい
  • EC2用のkeypairは自動作成され、Systems Manager パラメータストアの /ec2/keypair/ 以下に秘密鍵が保存されます

初期データについて

https://github.com/isucon/isucon12-qualify/releases 以下にビルド済みの初期データがあります。

Links

isucon12-qualify's People

Contributors

941 avatar acidlemon avatar eagletmt avatar elfeuille avatar fujiwara avatar inductor avatar kfly8 avatar killinsun avatar mackee avatar okashoi avatar speed1313 avatar toshihitokon avatar ue-sho avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.