isucon2014

2014/12/31 3329hit

今年の恥は今年のうちに

大分遅くなりましたが、isucon負けてきました。

http://isucon.net/archives/41187491.html

KLab大阪のメンバーとTeam Ku'sとして参戦しました。
とにかく悔しくてしゃーなくて、振り返るのすら嫌な状態でしたw
出題者側にやられた感じでした。
今はwebにしろアプリにしろapi全盛期で、サーバエンジニアはキャッシュなんて概念無いっすよ。
来年リベンジしたいので、今のうちに振り返っておきたいと思います。

予選


キャッシュとの戦いでした。
というか最初からキャッシュに乗ってました。
なのでウォームアップでメモリに載っけてしまって勝負かけました。
後はパスワードを何かして重そうな処理を外しました。
覚えてない。。

本戦


コードはメンバーに任せてインフラをやってました。

•全てをgitの管理配下に

•全てのサービスをsupervisorに
 一箇所にconfigを纏めてgit管理できるように

•計測はmackrelを入れる
 mackrelは60秒間隔でしか計測できず、60秒でベンチを取るisuconには向いてなかったorz
 dstatばっかり見てた。素直にmuninにしておけばよかったです。改善されるらしいので期待

•デプロイとかインフラ構築はfablic
 スピード勝負なので冪等性は無視
 一部を抜粋しておきます


alias isucon_deploy='fab -u isucon -i ~/.ssh/id_rsa -A -H 0.0.0.2, 0.0.0.3, 0.0.0.4 deploy'



# -*- coding: utf-8 -*-
from fabric.api import run, sudo, cd, put

def screen_install():
sudo('yum install screen')

def supervisord_restart():
sudo('service supervisord restart')

def update_phpini():
sudo('rm /home/isucon/.local/php/etc/php.ini')
sudo('ln -s /home/isucon/config/php.ini /home/isucon/.local/php/etc/php.ini')

def deploy_init():
with cd('/home/isucon'):
run('git clone git@github.jp.klab.com:kitahara-k/isucon4.git')
run('cp -r /home/isucon/isucon4/.git /home/isucon')
run('cp /home/isucon/isucon4/.gitignore /home/isucon')
run('git reset --hard')
run('rm -rf isucon4')

def deploy():
with cd('/home/isucon'):
run('git reset --hard')
run('git pull origin master')


•後はipv4のパラメータいじったり、filesystemのパラメータとかnginxの設定いじったり

来年こそは優勝狙います

前:MySQL DBAのためのmysqldumpのtips 26選 次:katex使ってみた

関連キーワード

[IT]

コメントを投稿する

名前URI
コメント