タグ

ブックマーク / sfujiwara.hatenablog.com (7)

  • ISUCON 7 予選2日目を3位で通過しました - 酒日記 はてな支店

    まずは出題と運営チームの皆様にお礼を。予選から1チーム3台、合計1200台のサーバを用意するという空前の規模で、快適な競技環境を用意していただいてありがとうございました。 isucon.net 今回は ISUCON 4 の時の fujiwara組 (@fujiwara, @acidlemon, @handlename) を再結成して、自称社内最強チームで望むことに。1日目には同じくカヤックから参戦のチーム MSA が1位を取っていて、これは予選通過はもちろん、スコアでもできれば負けたくないという戦いでした。 最終的には 48万点越え、両日通してのスコアでも3位ということで、まずまずの結果が残せたと思います。 やったこと あらかじめ用意しておいた Chef recipe で各種ツールや各人のアカウント作成、公開鍵設定 さくらのクラウドで用意されている Ubuntu から使われるとすれば今回は

    ISUCON 7 予選2日目を3位で通過しました - 酒日記 はてな支店
    aereal
    aereal 2017/10/23
  • YAPC::Fukuoka で分散 ID 採番機 katsubushi の話をしてきた - 酒日記 はてな支店

    初福岡ですが前日は熊に泊まって馬刺しをべました。今までべてきた馬刺しとはなんだったのか。 合法レバ刺しです 🐴なので pic.twitter.com/v2t7y6pI01— fujiwara (@fujiwara) 2017年6月30日 発表資料はこちらです。 speakerdeck.com github.com 開発してから2年、番で使いまくっていますが大変安定してますし、いろいろ面白い使い方ができる特性を持っているので、是非お試しください。(rausサポートした版はまだ番に入れてないですが、今後数ヶ月のうちに入れる予定です)

    YAPC::Fukuoka で分散 ID 採番機 katsubushi の話をしてきた - 酒日記 はてな支店
    aereal
    aereal 2017/07/03
  • Consulクラスタ内でファイルを分散配布する tuggle を書いた - 酒日記 はてな支店

    github.com これはなに? HTTPを使って、ファイルを Consul クラスタ内で分散配布する daemon です。Go で書かれています。読みかたは「たぐる」です。 開発動機とユースケース 拙作の Stretcher というデプロイツールがあります。嬉しいことに、自分が勤務しているカヤックだけではなく、他社さんでも使われているようです。 先日、某社の Stretcher をお使いのかたに話を伺う機会があり、デプロイアーカイブの取得時のネットワーク負荷が問題になっているということを聞きました。 カヤックではサーバは基 AWS にあり、S3 からデプロイアーカイブ(200〜300MB程度)を取得しています。S3はちょっと意味が分からないぐらい堅牢で、stretcherの -random-delay 5 (開始を平均2.5秒、最大5秒ずらす) を設定した状態で100台程度から一斉に

    Consulクラスタ内でファイルを分散配布する tuggle を書いた - 酒日記 はてな支店
    aereal
    aereal 2017/02/14
  • Consul 0.4.x から 0.5.2 へのバージョンアップ - 酒日記 はてな支店

    このエントリは HashiCorp Advent Calendar 2015 - Qiita 1日目の記事です。 Consul クラスタは一度稼働を始めたら基的に落とせないため、いわゆるローリングアップグレードによってクラスタ全体を停止せずにバージョンを上げることが考慮されています。 consul.io ということで基的には上記のURLを参照して、順番にagentを新しいバイナリで起動し直すことによって新しいバージョンに切り替えられるわけですが、Consul 0.5.0, 0.5.1 についてはいくつか留意点がありますので記録しておきます。 consul.io 0.5.0 未満から 0.5.0 以上にする場合 acl 機能を使っている場合、あらかじめ acl_policy を設定してからアップグレードする必要があります が、自分は使用していなかったのでスルー Leader が Cons

    Consul 0.4.x から 0.5.2 へのバージョンアップ - 酒日記 はてな支店
    aereal
    aereal 2015/12/02
  • nginxでメソッドごとにリクエスト数制限を掛けたい - 酒日記 はてな支店

    アプリケーションでどうしても捌けない量のリクエストが一時的に押し寄せてしまう場合、アプリケーションサーバが死ぬのを避けるために GET は制限を掛けたいが、POST はリトライが面倒なのでなるべく通してあげたい、というような要求を nginx で処理できるかどうか。 実装として一番望ましいのは GET は 100 req/sec で制限 (超えたら503) POST は無制限 のようにメソッドごとに別々の制限を掛けることだったのですが、とりあえず HttpLimitReqModule を使うことで、メソッドごとに同一の上限を設定することはできました。 http { limit_req_zone $request_method zone=method:1m rate=100r/s; server { listen 80; location / { limit_req zone=method;

    nginxでメソッドごとにリクエスト数制限を掛けたい - 酒日記 はてな支店
    aereal
    aereal 2013/06/21
  • [perl] Perlで同じコードを違うバージョンのモジュールでベンチマークする - 酒日記 はてな支店

    複数バージョンのモジュールで同じコードを実行してBenchmark.pmで計測したい、というケースにこう書けばいいかな、という例。 普通にBenchmark.pmを使ってしまうと同一モジュールを違うバージョンで複数読み込むことができないため、 バージョンごとに子プロセスを fork 子プロセスで use lib して @INC を追加してから use 計測した結果をファイルに保存して親プロセスで集約、表示 という流れで書きます。 use strict; use Benchmark qw/ :all /; use File::Temp qw/ tempfile /; use Storable qw/ nstore retrieve /; # 計測したいコード my $code = sub { my $c = Cache::Redis->new; for ( 1 .. 10 ) { $c->s

    [perl] Perlで同じコードを違うバージョンのモジュールでベンチマークする - 酒日記 はてな支店
    aereal
    aereal 2013/04/03
  • #isucon2 で優勝してきました - 酒日記 はてな支店

    なんでもありのいい感じにスピードアップコンテスト ISUCON が 2 になって帰ってきたので、参加して優勝を勝ち取ってきました。 まとめ的なものはこちらから livedoor Techブログ : ISUCON チームメンバーのblogも併せてご覧ください。 おそらくはそれさえも平凡な日々: #isucon2 で連覇させてもらってきました Redis布教活動報告 ISUCON 編 - unknownplace.org 今回は前回の ISUCON 優勝メンバーのひとり @sugyan が転職して出題側に回ってしまったので、@typester を招聘してチーム編成。@songmu と共に3人でチーム「fujiwara組」として再参戦です。 以下、作業用IRCのログからふりかえりますと…… 11:39:29 <typester> とりあえずrecent_soldはキャッシュってのはまずやることか

    #isucon2 で優勝してきました - 酒日記 はてな支店
    aereal
    aereal 2012/11/04
  • 1