Node v0.6 on Heroku

東京Node学園 3時限目

2011/12/14 @hakobera

誰?

Heroku の Node.js

2011/12月現在 v0.4.7 ... 古い orz

Heroku Buildpack

でも、Heroku には buildpack がある!

Heroku Buildpack とは?

heroku-buildpack-nodejs

  1. ツールの準備

    $ gem install heroku vulcan aws-s3

  2. Heroku 上に Node.js のビルドサーバを構築

    $ vulcan create [build-server-name]

  3. buildpack を fork して改造&ビルド&アップロード

    $ git [clone your-forked-repository]
    $ cd heroku-buildpack-nodejs
    $ ./support/package_node 0.6.5

    v0.6.3 以降は npm 同梱なので package_npm は不要

    Macで付属のs3コマンドが動かなかったので rubyのaws-s3で書きなおした

既存のものを再利用できる

Node.js v0.6.5 を用意しました!

$ heroku create --stack cedar --buildpack http://github.com/hakobera/heroku-buildpack-nodejs.git

あとは普通に push すれば OK

ベンチマーク1

// HTTP server samples
var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
}).listen(process.env.PORT);

v0.4.7 v0.6.5
ab -c 100 -n 2000 119.90 [#/sec] 103.55 [#/sec]

ま、誤差ですね・・・どっちも遅い

ベンチマーク2

v0.4.7

v0.6.5

ベンチマーク(参考値)

Node Ninja (v0.4.12)

localhost (v0.6.5)

おしまい

/

#