Finalのベンチマークを動かして遊んでみたISUCONとはISUCONとはWebアプリケーションの高速化を競うコンテストです。2011年から毎回開催されていまして、現在(2019年時点)で9回コンテストが開催されています。詳しい説明は公式ページがあるので、そちらを見ればよいかと思います。コンテストで動かすソースはgithubで公開されています。perlと良くWeb系で扱われる言語は含まれているようです。Finalの環境構築ISUCON9の本選で扱われたソースは以下になります。Linux向けでビルドを実行しているのが確認できます。https://github.com/isucon/isucon9-final/blob/master/bench/Makefile自分はWindowsの環境で確認しようと思ったのですが、そのままではうまく動かなそうだったのでHyper-v上のubuntuで環境を構築することにしました。環境の構築方法はREADMEにのっていた以下のコマンドを実行しました。upこれで以下のようにdockerが起動していることが確認できました。webapp_payment_1次にREADMEREADMEにのっている通り以下のURLにアクセスしフロントエンドを表示し、それからログインするためのユーザ登録を実行してみました。http://127.0.0.1:8080フロントエンドのページは表示できたのですが、ユーザの登録時にMySQL周りでエラーが発生することが確認できました。MySQLの設定ファイルをマウントしていることが確認できます。ディレクトリ内にあるSQLが実行されているかですが、以下のように直接確認しに行ってもDBが作られていなかったので初期化SQLが実行されていなかったようです。sec)DBおよびユーザの作成が必要なのですが、以下のソース内では環境変数がなければデフォルトの設定を使うようになっているようで、初期では特に環境変数も指定されていないのでデフォルトのDB、ユーザで接続できるようにしておきます。"isutrain"}それからwebapp/sql内のSQLを実行したら、MySQL周りのエラーが発生しなくなりユーザの登録ができるようになったことが確認できました。次にベンチマークを動かしてみます。READMEにのっている通り、以下のコマンドを実行します。make)それから、ubuntuの環境で動かしていたので以下のコマンドでベンチマークを実行します。--assetdir=webapp/frontend/dist結果は以下になり、初期では1316のスコアになりました。15"],"available_days":10,"language":"golang"}ここからパフォーマンスを改善することでスコアを伸ばせるのですが、公式のページの方に解説がありますので、これを参考に修正していけばよいかと思います。byを適切に指定する必要があるとのことだったのでそれらを踏まえて修正しました。結果として初期コストの1300くらいから2500くらいまでは上がりました。dockerでの環境構築の部分を含めてコンテストのソースを見るのは慣れてないと大変ですが勉強になりそうで、動くところまで行ったら解説をもとに修正するのが面白くなりそうでした。普段触らない言語であってもサンプルの動くコードを見ることで覚えるきっかけによさそうでした。Hadoopと同じく分散処理のフレームワーク。Finalのベンチマークを動かして遊んでみた月別アーカイブはてなブログをはじめよう!steavevaivaiさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。