タグ

ブックマーク / blog.stanaka.org (6)

  • 2014年のウェブシステムアーキテクチャ - stanaka's blog

    (Monitoring Casual Talk in Kyotoで発表してきたので、ブログエントリにまとめ直しました) 2013年はインフラ周りの技術的な進化が大きく、いくつかのエポックメイキングな概念と実装が産まれました。個人的には特に以下の2つが大きいと思っています。 AWS格普及期 DockerとImmutable Infrastructure これらを踏まえて、2014年のウェブシステムの進化の方向性を考えてみます。また、それによるモニタリングへの影響もあわせて考えます。だいぶ長くなってしまったので、急ぐ人は最後に結論をまとめましたので、そちらからどうぞ! 2013年という時代背景 AWS格普及期を迎えているのは、言わずもがなのことで、Re:Inventでの246件という膨大のセッション数などにその勢いが表われています。 また、DockerLXC (LinuX Conta

    2014年のウェブシステムアーキテクチャ - stanaka's blog
  • The Benchmark with Go REST API Server - stanaka's blog

    I gave a presentation about lightweight REST API Server by Go, and performance comparison with Go, Perl and Ruby at GoCon 2013 autumn. The slide about benchmarking result is as follows. This shows milliseconds per request with 10,000 sequential requests at various conditions, which are go/perl/ruby, messagepack/json, and mysql SQL query/innodb memcached plugin. "direct memcached (innodb)" is direc

    The Benchmark with Go REST API Server - stanaka's blog
  • fluentd + mongodb+ node.js でリアルタイムにグラフを描く - stanaka's blog

    追記 2/22 毎回微妙に追記していますが、今回も追記です。最後にmongodbのinsert性能について80lines/secで厳しくなった、と書いてますが、環境か設定まわりがあやしいので訂正します。もうすこし検証してみようと思います。 → 検証して fluentd側の設定の問題であることが分かりました。詳しくは、http://blog.stanaka.org/entry/2013/02/22/171053 追記ここまで 最近は、fluentd + mongodb でログを蓄積していろいろ便利に使っているわけですが、数分に一回集計スクリプトを周したり、 GrowthForecast の画面をリロードしまくるのではなく、もっとリアルタイムで見たい! という欲求が募ってきたので、 node.js を使って実装してみました。( https://github.com/stanaka/realti

    fluentd + mongodb+ node.js でリアルタイムにグラフを描く - stanaka's blog
  • Labeled Tab Separated Values (LTSV) ノススメ - stanaka's blog

    追記(2/8 11:30) id:naoyaによる一連のまとめが【今北産業】3分で分かるLTSV業界のまとめ【LTSV】 - naoyaのはてなダイアリーにあります。 また、仕様などをまとめるために http://ltsv.org/ を立ち上げました。 追記ここまで Labeled Tab Separated Values (LTSV) というのは、はてなで使っているログフォーマットのことで、広く使われているTSV(Tab Separated Value)フォーマットにラベルを付けて扱い易くしたものです。はてなでは、もう3年以上、このフォーマットでログを残していて、one-linerからfluentd、Apache Hiveまで幅広く便利に使えています。 ログフォーマットに期待されることは、 フォーマットが統一されている → 共通のツールで集計し易い 新しいフィールドの追加が容易 → サー

    Labeled Tab Separated Values (LTSV) ノススメ - stanaka's blog
  • TheSchwartz / Gearman のワーカープロセス管理WorkerManager - stanaka's blog

    概要 Perlの非同期処理システムとしてTheSchwartz / Gearmanを非常に便利に使っているのですが、いい感じにワーカープロセスを管理したかったので、WorkerManagerなるものを作ってみました。作ったのは実は1年以上前なのですが、ようやくの公開です。 基は、Apacheのpreforkモデルを踏襲しています。特徴は、 子プロセスを複数起動させて、ジョブを並列実行 一定回数のジョブを実行したら、子プロセスを再作成 クラスを定義するのみでジョブを実行 TheSchwartz / Gearmanの切り替えを最低限の変更で実現 ワーカープロセスの安全な停止(プロセス停止の際に、実行中のジョブの終了後に終了) ジョブの実行時のタイムスタンプをジョブ投入からの遅延をログに保存 というあたりです。preforkモデルなので、あまりモダンな設計ではないですが、gdbでのデバッグの容

    TheSchwartz / Gearman のワーカープロセス管理WorkerManager - stanaka's blog
  • とあるはてな社員の日記 - まっさらなサーバを30分で本番投入できるようにする

    すこし前にはてなスターのリリースがされたのですが、サービス開始直後にありがちなことに、時々負荷で遅くなったり、アクセスしにくくなったりしてしまいました*1。これではいけない、ということで、すぐ次の日に、バックエンドのサーバを一気に10台近くまで増やして、おおむね快適に使える状態になっていると思います。この時に、新しいサーバをまっさらな状態から、だいたい30分程度で番投入することができていました。これを、どのように実現したのかを軽く紹介したいと思います。 ちなみに、サービスの重さは、サーバ増強だけで済むものではなく、それ以降も、Javascriptが重い!とか、アプリケーションロジックで重いSQL を走らせてしまって遅いという問題は何回かありました。が、そこはインフラではなく、アプリケーションの問題で、アプリケーションの改善は、継続的に進んでいると思います。ので、今回は、インフラの話に限定

    とあるはてな社員の日記 - まっさらなサーバを30分で本番投入できるようにする
    toritori0318
    toritori0318 2009/03/08
    デプロイ参考
  • 1