タグ

ブックマーク / toritori0318.hatenadiary.jp (6)

  • vagrant-awsを利用したイイカンジ(?)のAWS開発フロー - アルパカDiary Pro

    Vagrantでupとdestroy繰り返すのが大好きです。アルパカ大明神です。 DevOps 社内でデブオプスを推進していることもあり、 まず第一歩として進めているのが ローカル開発環境構築 ローカルVagrantでのアプリケーション開発 EC2への環境構築 デプロイ クラスタ構築 といったサーバエンジニア視点での開発フロー改善についての調査/検討です。 そして、ここ数日の間に 「こういう感じで開発を進められたらイイカンジなのでは?」 というフローが固まってきたので共有したいと思います。*1 概要図 リポジトリのVagrantfileを用いてローカルVagrantを構築し、 その環境を使ってアプリケーションを開発。 さらにec2の操作まで全てvagrantコマンド*2で実行します。 今回はknife soloも一切使用していません。 番環境のクラスタ構築はCloudFormation+

    vagrant-awsを利用したイイカンジ(?)のAWS開発フロー - アルパカDiary Pro
  • socket.ioでxhr-pollingのコネクションが詰まる件(解決 - アルパカDiary Pro

    ※2012/01/09 追記 続きもあるよ あらすじ 先月晴れてsocket.ioクラスタがデビュー。 しかし想定していたよりxhr-polling接続が多くてフガフガな状況に。 こりゃxhr-pollingの性能評価もしとくべきだったなーと思いを馳せるアルパカ。 そこでsocket.io-clientでベンチマークを走らせたのだが websocketと時と異なりコネクションがすぐに詰まるという自体が発生…! アルパカ大明神の運命やいかに!? 現象 socket.io-clientでxhr-pollingのコネクション貼りまくると5コネクションで詰まる。 時間が経つとその内ヌルッと進む。 chromeやfirefoxでも同様。 調査 様々なクライアントから実行しても同様の状況が見られたため サーバの問題と断定しサーバ調べる。 しかしコード追ったりトレース取ったりしてもまったく原因わからず…

  • supervisor配下でcluster.jsを動かすためのTips - アルパカDiary Pro

    現在nodeアプリケーションをsupervisordでデーモン管理しているのですが、 こいつをcluster.jsでマルチコア対応したところ デーモン管理から外れてしまうという現象が発生しました。 発生する小さなスクリプト var cluster = require('cluster'); var numCPUs = require('os').cpus().length; if (cluster.isMaster) { // Fork workers. for (var i = 0; i < numCPUs; i++) { cluster.fork(); } } else { app = require('./app'); } このスクリプトで supervisorctl stop すると 子プロセスが落ちないでデーモンとして残ってしまう。 Google先生に聞いてみたところ マスタープ

    supervisor配下でcluster.jsを動かすためのTips - アルパカDiary Pro
  • expressやsocket.ioのテストはこんな感じで書いてます、というお話 - アルパカDiary Pro

    最近仕事ではNode.jsしか書いてないtoritoriです。 お仕事でもexpressやsocket.ioを使っているのですが WebアプリケーションのテストについてWeb上にあまり書かれていないような気がします。 特にソケット接続した後のメッセージ送信/受信の部分です。 今までのようなHTTPの単純なリクエスト/レスポンスとは手法が異なりますしどうしたものかと。 そこで「自分はこんな感じでテストしてますよー」という記事を書いてみます。 裏を返せば「もっといい方法あるよ!」というのを聞きたいのです>< サンプルについて socket.ioのexample を使います。 ただし、サンプルではログイン時に遷移しない方式なので もう少し実用的な動作に近づかせるため あえてログインURLから遷移するようにし、 セッションもRedisを使うようにしてexpressとsocket.ioでセッションを

    expressやsocket.ioのテストはこんな感じで書いてます、というお話 - アルパカDiary Pro
  • fluentdで自ホスト名を自動でタグにするの巻 - アルパカDiary Pro

    ※追記 http://d.hatena.ne.jp/tagomoris/20120806/1344240513 さらに書きやすくしていただいたようです! http://d.hatena.ne.jp/toritori0318/20120723/1343059303 この記事の補足です。 上記記事では複数サーバを自動で判別したいがために わざわざplackアプリでコンフィグファイルを動的に生成し、 リモートIPをタグに付け直していました。 しかし偶然にもtagomorisさんのforestというプラグインの存在を知り、 ホスト名取得出来るんじゃね?ということで試してみました。 ログ送信サーバのコンフィグファイル plackアプリを止めて、 ログ送信サーバのコンフィグを以下のように置き換えてみました。 真ん中のrewrite_tag_filterでタグの置き換えを行い、 その際forestのテン

    fluentdで自ホスト名を自動でタグにするの巻 - アルパカDiary Pro
  • dstatをfluentd+growthforecastでグラフ化(前編) - アルパカDiary Pro

    とあるクラスタ(複数台あるサーバ)に対して性能評価しているときに dstatでリアルタイムに数値見ながら評価したいんですが さらにまとめてリアルタイムグラフ化出来たら嬉しいのではないかなーと。 お、これはfluentd+growthforecastの出番では…! と思い早速試してみましたよっと。 全体像 ノードサーバ(監視される側) 各サーバでdstatを収集/整形しログに出力 fluentdでgrowthforecastAPIを叩く グラフ生成サーバ(growthforecast) config生成plackアプリを起動(今回はログ収集サーバで実行しているが、来はどこで起動してもよい) growthforecastプラグインでグラフ化 ※最初考えていた構成ではグラフ生成サーバでログを受け取ってから growthforecastに流しこんでました。 ログファイル自体も収集したい時にはその

    dstatをfluentd+growthforecastでグラフ化(前編) - アルパカDiary Pro
  • 1