I've been searching around for performance tests on the new passenger 5 as I read here it became way faster. I tried to find other ressources confirming this but no luck. Has anyone tried to install it and see the difference?
はじめに みなさんDocker使われてますでしょうか? 自分はDockerをよく使ってるのですが、使ってるうちにいろいろと不満が出てきました。 デプロイスクリプトとか書かないでデプロイしたい Dockerfileを書くとメンテしないといけなくなるので、書かないで使いたい 組織とかで使う場合に、それぞれが各々のDockerfileを書くことになるので、一貫性を保つのが難しい Docker単体だとImmutable Infrastructureの仕組みを自前で作らないと実現できない あんまり設定とかしなくてもRailsアプリケーションが、すぐ動かせる環境を構築したい 要するにHerokuのようなPasSを開発サーバーに建てることができればいいなと思ってたわけです。 そこでDockerベースのHerokuのようなPaaSを実現できるDokkuを試してみました。 先日DokkuをフォークしたDok
Herokuの欠点は、Tokyoリージョンがないため、ネットワークによる遅延が気になる と言われている。どの程度による遅延が気になっているのかは人によると思うが、Herokuを最大限に高速化させるために私がやっていることをまとめてみた。 これを実施すれば、Herokuが遅いとはあまり思わなくなると考えている。 Asset Sync を利用する [追記(重要)] Asset Syncを利用するのは公式で止めるよう勧告が出ている。CloudFrontを利用する方法が推奨されている。以下の内容は古いのでご注意を。 ーーーーーーーーーーーー Asset Syncは、Amazon S3に画像やCSS/JavaScriptを置き、各アセットのパスの向き先をそちらにかえてくれるgemだ。これを利用しないと、HTMLとかに置いた静的コンテンツが全てHerokuにアクセスしてしまうため、Herokuサーバー
Summary: Ruby apps in the memory-restrictive and randomly-routed Heroku environment don't have to be slow. Achieve <100ms server response times with the tips laid out below. (3706 words/18 minutes) I’ve seen a lot of slow Ruby web apps. Sometimes, it feels like my entire consulting career has been a slow accumulation of downward-sloping New Relic graphs. Why is the case? If you read that bastion o
RubyやRailsも使えるPaaSであるHerokuでRroongaを使えるようにしました。これにより、高速な全文検索機能を提供するRubyによるWebアプリケーションをHeroku上で動かすことができるようになりました。 ここでは、HerokuでRroongaを使う方法と、どのように動いているかを簡単に説明します。 サンプルアプリケーション Heroku上でRroongaを使えることを示すサンプルアプリケーションとして、Rroongaで全文検索できるブログを作成しました。 Heroku上で動いているアプリケーション ソースコード Railsでscaffoldしたものに、全文検索関連の機能を追加して見た目を整えた1だけの簡単なアプリケーションです。 全文検索機能はページ上部の検索ボックスにキーワードを入力してサブミットすると確認できます。キーワードにマッチするとキーワードがハイライトする
Herokuのダッシュボードには、次の画像のように、稼働しているアプリのリソース使用状況をMetricsとして表示する機能がある。 最近某アプリで、このMemoryのところが常に上限を超えている状況が発生したのだけど、原因は意外に気づかないところだったので、ブログに書いておく。 ふつーの人は、 Getting Started with Rails 4.x on Heroku | Heroku Dev Center とかを見ながら、config/unicorn.rbをコピペしてしまうと思う(自分もそうだった)。 worker_processes Integer(ENV["WEB_CONCURRENCY"] || 3) timeout 15 preload_app true before_fork do |server, worker| Signal.trap 'TERM' do puts '
先日、自分の携わっている Rails アプリのインフラを AWS から heroku に移行しました。 移行時にハマった点や、その後 使い始めてみて便利だった点を列挙。 移行した主な理由としては、開発が少人数体制のためインフラは気にせずコードを書くことにのみ集中して、限られたリソースを有効活用させるため。 また、移行するにあたり以下のスライドも参考になりました。 Wantedlyを2年間Herokuで運用した話 from Yoshinori Kawasaki 移行時の手順・ハマったところ 基本的な手順 基本的な手順は簡単。 Heroku Toolbelt をインストールして、 heroku login でログイン、 heroku create で heroku 上に新しいアプリケーションを作成した後、 git push heroku master で デプロイ。 heroku open
セコンさん (id:secondlife)がcookpadの開発部長になられましたね。おめでとうございます! 並々ならぬ努力の賜物なのですよね。負けてられません! さてさて、去年の暮れ頃からPHPからRubyを書く様になって、様々なTipsが溜まってきたので、コンスタントに記事書きたいなと思っています。 では本題。 gem heroku_san って何? 現在弊社サービスClipieはHerokuで運用されています。 Clipie http://clipie.it/ Heroku http://www.heroku.com/ そこで、日々clipieを改善、運用している訳ですが、もっと便利にherokuを使いこなせる様な物がないのかなと調べていまして、今回の記事のタイトルであるheroku_sanというgemを発見しました。 gem heroku_sanについて調べましたので、説明します。
先月、heroku の推しサーバが unicorn から puma に変わったという発表がありました。unicorn だとスロークライアントの影響を受けやすいというのが理由なようです。 もう少し詳しく調べてみましょう。 そもそもスロークライアントってなに その名の通り遅い回線のクライアントです。3G環境のモバイル端末などが該当します。 「unicorn だとスロークライアントの影響を受けやすい」とは unicorn はプロセスモデルのサーバであり、blocking I/O モデルを採用しています。つまり、クライアントとの通信中プロセスが専有されるということです。 例えば unicorn がワーカプロセスを3つ立ち上げていて、そこへ通信完了に10分かかるようなスロークライアントが3つ接続されたら…、続くクライアントはスロークライアントの通信が完了するまで実行を待たなければならなくなります。プ
When increasing concurrency by using a multi-threaded web server like Puma, or multi-process web server like Unicorn, you must be aware of the number of connections your app holds to the database and how many connections the database can accept. Each thread or process requires a different connection to the database. To accommodate this, Active Record provides a connection pool that can hold severa
(photo credit: d_oracle via photopin cc) いままであんまりやったことなかったけど、時間のかかる処理とかを バックグラウンドでやりたいときってあるじゃないですか。 そんな非同期処理を、ResqueってGemでなかなかお手軽にやってみた話。 とはいえハマりどころも多かったし、まぁそれなりには大変っていう感じですな。。 ローカルで動かしてみる どのgemつかうか 調べてるとresqueとかdelayed_jobとかって名前をよく聞きます。 Ruby Toolboxで比べるとresqueが優勢だったのでresqueにする。 Github製らしいっていうのもポイント高し。 The Ruby Toolbox「Background Jobs」 こうやってアクティブなGemを選ぶようにするのはいい気がする。 Redisのセッティング ResqueはRedisっ
Herokuの公式ドキュメントは英語なので読みづらいですよね。herokaijp/devcenterのように、有志が日本語訳してくれているドキュメントもありますが、その中でも特に抑えておきたい16個の常識について挙げてみました。(16日に公開する予定の記事なので、何となく16個挙げてみました。。) (補足)Herokuを使う上での登場人物の名前 Dyno 「だいの」と呼びます。1Dynoと言ったとき、一つサーバが立ち上がっているようなものだと考えて下さい。 Routing Mesh Herokuアプリにアクセスがあったときに、Dyno間の負荷をロードバランスしながらリクエストを振り分ける機構をRouting Meshと呼びます。たまに「Router Error」というログを吐くのですが、そのとき障害が起こっている場所はここです。 常識1. Dynoは1時間アクセスがないとアイドル状態になる
下記のエントリによると、new relic のアドオンを使うことで heroku の spin up 待ちをなくせるとのことなので早速このブログ(heroku & lokka)に導入してみました。 Running a high volume Rails app on Heroku for free // Collective Idea ざっくり手順 new_relic_rpm gem を Gemfile にいれる config/newrelic.yml をコピペ lib/lokka.rb に下記のように書く if Lokka.production? require 'newrelic_rpm' end new relic の account ページからライセンスキーをコピーして heroku config:add NEW_RELIC_LICENSE_KEY=xxx のようにする。ここまでで
ただ、値上げしてだいぶ敷居が高くなってしまったんですよね。プロジェクト3つで$25/monthかかり、しかもエラーが60日で消えてしまいます。 (僕は旧プランのまま$5/monthで使えていますが、これ以上プロジェクトを作れません・・・) そこで、オープンソースのAirbrakeクローン、errbitを使ってみました。 https://github.com/errbit/errbit インストール インストールはREADME通りにやれば簡単です。 Ubuntu 12.04 Server (さくらのVPS)にインストールしました。Rubyはインストール済みです。 # 依存ライブラリインストール(root) apt-get update apt-get install mongodb install libxml2 libxml2-dev libxslt-dev libcurl4-openss
Webアプリのリハビリ ということで、Official Blog: A second spring of cleaningで告知された、Google Reader閉鎖に備え、俺専用RSSリーダーをRuby on Railsで軽めに作ってみた。 read.aho.mu 目的としてはRuby + Railsの学習と、サーバーサイドのリハビリのつもりだったのだけど、簡単すぎて実作業1日分くらいで終わってしまった..(´・ω・`) 自分で登録したフィードを、自分でなんとなく流し読みして、良いと思った記事に♡を付けられるだけなのですが、それがついでにオープンになっているだけ。 色々もにょもにょ 触ってみた箇所について所感など。 前からScalaなりNodeなりでHello Worldまでは試してましたが、素直にRailsをデプロイして動くところまで手を入れたのは初。 無料で使えるアドオンを幾つか入れ
Herokuのデフォルトのタイムゾーンは太平洋標準時(PST)なので、それを日本標準時(JST)に設定する。 17時間の時差 昨日の記事のTwitter Botでも、タイムゾーンが違うことで、1日ズレた名言をツイートしていたことになる。不具合ではないけれど、ちょっと気持ち悪い。タイムゾーンを正しく設定することで、そのズレは解消される。 この記事の最後で、Herokuの管理画面が太平洋標準時(PST)で、日本との時差(17時間)を考える必要があると書いた。このHeroku管理画面のタイムゾーンまでは変更することは出来無いみたいだけど、アプリのタイムゾーンはコマンドラインから設定できるみたい。なので日本時間を設定すれば、アプリ上では時差を考える必要はなくなる。 以下は昨日のTwitter Botアプリのタイムゾーンを変更する手順。 デフォルトのタイムゾーン Herokuのコンソールで現在のタイ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く