isucon練習記 isucon11(予選) 振り返り
vagrant upしてvagrant package default --output isucon11.boxで保存
以下ファイルでvagrant upして4台立ち上げ
code:ruby
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.box = "./box/isucon11.box"
config.vm.provider "virtualbox" do |vb|
vb.cpus = 2
vb.memory = "4096"
end
(1..4).each do |i|
name = i == 4 ? "bench" : "isu#{i}"
config.vm.define name do |host|
host.vm.hostname = name
host.vm.network :private_network, ip: "192.168.33.1#{i}"
host.vm.provision "shell", inline: "sh /vagrant/provision.sh"
end
end
end
code:provision.sh
set -e
sudo sed -i -e 's/127\.0\.0\.\(11-3\)/192.168.33.\1/' /etc/hosts sudo su isucon <<EOF
chown -R isucon:isucon ~/.ssh
chmod 700 ~/.ssh
chmod 600 ~/.ssh/*
EOF
ベンチコマンド
./bench -all-addresses 192.168.33.11 -target 192.168.33.11:443 -tls -jia-service-url http://192.168.33.14:4999
初期状態で1256点
2台目移行のサーバー設定
code:console
make ssh-keygen # Deploy Keysに登録
mv env.sh env.sh.bak && \
mv webapp webapp.bak && \
git init && \
git branch -M main && \
git remote add origin git@github.com:mkizka/isucon11-qualifier.git && \
git pull --set-upstream origin main
Cloud Profiler使ってみる
gcloud導入
code:console
sudo su root
| tee -a /etc/apt/sources.list.d/google-cloud-sdk.list \
| apt-key --keyring /usr/share/keyrings/cloud.google.gpg add - \
&& apt-get update -y \
&& apt-get install google-cloud-sdk -y
exit
gcloud auth application-default login