kavo’s diary

備忘録

ISUCON練習 private-isu[1] Windows上構築~ベンチ成功(0点)

private-isuをやっていく。

github.com

環境

  • Windows 10
  • Docker Desktop
  • 言語はGo

ログ

アプリ起動

  • Docker Desktopは起動しておく

してないとerror during connect: this error may indicate that the docker daemon is not running:

  • rubyで一回イメージ作った場合、docker-compose.ymlをgolangに書き換えてからイメージを再作成する

docker compose build app

  • 画面確認

ベンチ

  • 実行してみる
$ docker run --network host -i private-isu-benchmarker /opt/go/bin/benchmarker -t http://host.docker.internal -u /opt/go/userdata
exec /opt/go/run.sh: no such file or directory

Windows で Docker 環境構築時のエラー対処法【no such file or directory】

この問題か・・・git config --global core.autocrlf inputしてやり直し

  • 再実行
$ docker run --network host -i private-isu-benchmarker /opt/go/bin/benchmarker -t http://host.docker.internal -u /opt/go/userdata
/opt/go/run.sh: line 3: /opt/go/C:/Program Files/Git/opt/go/bin/benchmarker: No such file or directory

WindowsのGit Bashでパス変換が予期せぬ動作をする場合の対処法 - Qiita

今度はこれ。MSYS_NO_PATHCONV=1 で対処

  • 再々実行
$ MSYS_NO_PATHCONV=1 docker run --network host -i private-isu-benchmarker /opt/go/bin/benchmarker -t http://host.docker.internal -u /opt/go/userdata
{"pass":false,"score":25,"success":68,"fail":6,"messages":["静的ファイルが正しくありません (GET /css/style.css)","静的ファイルが正しくありません (GET /js/main.js)","静的ファイルが正しくありません (GET /js/timeago.min.js)"]}

webappの方の資材再作成忘れてた

  • 再々々実行
$ MSYS_NO_PATHCONV=1 docker run --network host -i private-isu-benchmarker /opt/go/bin/benchmarker -t http://host.docker.internal -u /opt/go/userdata
{"pass":true,"score":0,"success":209,"fail":64,"messages":["リクエストがタイムアウトしました (GET /)","リクエストがタイムアウトしました (GET /@angelina)","リクエストがタイムアウトしました (GET /@clarissa)","リクエストがタイムアウトしました (GET /@colleen)","リクエストがタイムアウトしました (GET /@dina)","リクエストがタイムアウトしました (GET /@ilene)","リクエストがタイムアウトしました (GET /@kristina)","リク 
エストがタイムアウトしました (GET /@olivia)","リクエストがタイムアウトしました (GET /@rowena)","リクエストがタイムアウトしました (GET /@shana)","リクエストがタイムアウトしました (POST /login)","リクエストが
タイムアウトしました (POST /register)"]}

スコア0だけどようやくpass!

makeインストール

ローカルでもmakeできるように。

Make for Windows

  • PATH通し

C:\Program Files (x86)\GnuWin32\bin

where make