- スコアは負荷試験による実測値をベースにする性質上、同一条件でも採点結果が多少上下します。
- ある改善前後でスコアが下がっても、効果が全くなかったと断定できない場合があるので注意してください。
- 競技環境構成 のように、VM ではアプリケーションサーバと負荷試験サーバを分けて負荷試験を行っていること・マシンのスペックなどの条件から、スコアの乖離が発生することが予想されます。
- スコアの前後比較は、ローカル環境上で行ったもの同士・VM 環境上で行ったもの同士で行うようにしましょう。
- まずは最低限 API テストが通るレベルにしてください。
- 例えば負荷試験中の更新内容を全てメモリのみに保管し永続化しない場合、電源断で負荷試験中のデータは全て消失するため、これは業務アプリ向けの改善とは言い難いです。
- 画像については、UI 上で機能する場合に限り、変換や圧縮が認められます。
- インデックスの作成やカラムの追加は問題ありません。禁止事項についてはレギュレーションを参照ください。
- OK です。
- できません。HTTPS, SSH のみの開放です。
- OK です。
- 初期の実装では、DockerEngine に負荷がかかっている可能性があります。DockerEngine の再起動が有効な可能性があります。
- 採点時の負荷試験は HTTPS 接続で各 API へリクエストを送ります。nginx や mysql、backend コンテナといった API の機能を成立させるためのモジュールは改善対象です。
- 要件を満たしていれば、これらのモジュールを全く差し替えてしまうことも可能です。
- frontend コンテナ及びそれを実行するクライアントについては負荷試験のリクエスト対象に入っていないため改善しても効果はあまり見込めません。
- 可能です。お客様からは許可は取っているものとします。
- API テストではそれぞれのテストの結果を利用して後続のテストを行なっている箇所があります。
- 前提となる項目が PASS しない場合、後続のテスト項目も (仕様に適合しているかにかかわらず)失敗する場合があります。
- 大幅に実装を変更してまとめて API テストを実施すると問題点がわかりにくくなるため、こまめに API テストを実施することをお勧めします。
- まれに、実装に問題がない場合でも API テストに失敗する場合があります。
- 再度 API テストを実行して成功する場合には、特に気にすることなく進めて問題ありません。
- 公式な採点結果は運営側で用意された評価スクリプトの実行結果のみが認められますが、それ以外のスクリプトは好みに合わせて使い分けてください。
- 考慮する場合があります。
このレギュレーションを基に、アプリケーションのパフォーマンス改善に取り組んでください。何か疑問があれば、FAQを参照するか、運営に問い合わせてください。