Skip to content

Latest commit

 

History

History
116 lines (72 loc) · 4.12 KB

File metadata and controls

116 lines (72 loc) · 4.12 KB

スクリプトの紹介

競技に必要、または利用できそうなスクリプトを用意しています。それぞれの概要を説明します。

注意:

  • すべて、スクリプト配置ディレクトリ内で直接実行してください。
  • ファイルを削除するスクリプトが含まれます。実行環境にお気をつけください。

初期設定スクリプト

場所: VM 内 (/home/azureuser/entry.sh)
※ リポジトリには含まれていません。 ※ ローカルでは実行しません。

$ bash entry.sh
forkしたリポジトリのURLを入力ください: https://github.com/{your-name}/{チームID}-HiroshimaUniv-Tuning-2409.git

入力されたリポジトリをクローンし、init.sh を実施します。 必要なファイルが/.daディレクトリからリポジトリ内にコピーされ、リストア & マイグレーション が実行されます。

評価スクリプト

場所: ルートディレクトリ/run.sh

$ bash run.sh

run.shでは下記内容が順次に実行されます。

  1. リストア・コンテナ再起動・マイグレーション
  2. e2e テスト
  3. 負荷試験・採点

上記ステップは、以降の各種項目で紹介されるスクリプトで個別に実行可能です。

制約及び注意

  • 実行後はバックエンドのCPU使用率をリセットするために、バックエンドのコンテナを再起動します。

コンテナ再起動

場所: webapp/restart_container.sh

$ cd webapp
$ bash restart_container.sh

webapp/の現在の内容でイメージおよびコンテナを作成し、サービスを立ち上げます。

制約及び注意

  • 開発環境ではバックエンド・MySQLのコンテナのみ再起動を行います。そのため、フロントエンド・Nginxのコンテナを再起動したい場合は手動でするようにお願いします。

リストア & マイグレーション

場所: webapp/restore_and_migration.sh

$ cd webapp
$ bash restore_and_migration.sh

採点時に実施される MySQL データのリストア・コンテナ再起動・簡易 DB マイグレーションを順次実施します。

制約及び注意

  • マイグレーションの実行に時間がかかることがあります。

API テスト

場所: webapp/e2e/run_e2e_test.sh

$ cd webapp/e2e/
$ bash run_e2e_test.sh

採点時に実施される API テストを制約付きで実行できます。

最新の内容でテストしたい場合は、別途リストア & マイグレーションスクリプトを実行してください。

制約及び注意

  • チューニングがされていない初期状態だと、タイムアウトで失敗する可能性があります。
  • 評価スクリプトとは異なり、http://localhost/ 宛にテストを実施します。
  • このスクリプトの結果は OK だが負荷試験のレスポンスが NG の場合、後者が優先されます。

負荷試験 & 採点

場所: benchmarker/run_k6_and_score.sh

$ cd benchmarker
$ bash run_k6_and_score.sh

現在起動しているサービスに対し、採点を行います。実行には数分かかります。

最新の内容で採点したい場合は、リストア & マイグレーションスクリプトを実行してください。

制約及び注意

  • 負荷試験の実行時間は開発環境では 90s 、VM環境では 180s です。負荷試験実行後にスコア計算のため30秒前後時間がかかります。
  • リストア・マイグレーションされていない状態でrun_k6_and_score.shを実行すると正しい採点が行われない可能性があります。
  • ローカルでの採点では、お使いのネットワーク環境やPCのスペックに依存する場合があります。
  • 実行後はバックエンドのCPU使用率をリセットするために、バックエンドのコンテナを再起動します。

トップ