ISUCON13過去問に取り組むときにアプリケーション/DNSサーバーとベンチマークサーバーを分ける

前置き

ISUCON13の過去問を練習で取り組んだ。

最初はアプリケーションサーバーとベンチマークサーバーを同居させ、1台構成で実施していた。

いくつかのボトルネックを解消していくと、早々にベンチマーカー自体がボトルネックとなる。

このときに行ったベンチマークサーバーを分ける設定方法を記録しておく。

環境構成

アプリケーションサーバー / DNSサーバー

ベンチマーカーサーバー

対応内容

アプリケーション/DNSサーバーの env.sh ファイルに記載されている ISUCON13_POWERDNS_SUBDOMAIN_ADDRESS を、ベンチマークサーバーからアクセス可能なIPアドレスに設定する。

今回の環境では、両サーバーを同じVPCに構築したため、アプリケーション/DNSサーバーのプライベートIPアドレスを指定した。

env.sh

- ISUCON13_POWERDNS_SUBDOMAIN_ADDRESS="127.0.0.1"
+ ISUCON13_POWERDNS_SUBDOMAIN_ADDRESS="アプリケーションサーバー/DNSサーバーのプライベートIPアドレス"

ベンチマークの実行

./bench run --target https://pipe.u.isucon.local --nameserver "アプリケーションサーバー/DNSサーバーのプライベートIPアドレス" --enable-ssl