タグ

performanceに関するTrinityTのブックマーク (9)

  • apache,nginx × passenger,unicornのベンチをとってみた

    preforkでテストしました。 yumでインストールした状態で使ってます。 最後にテスト用のconfをincludeしています。 httpd.confKeepAlive Off 〜 StartServers 8 MinSpareServers 5 MaxSpareServers 20 ServerLimit 256 MaxClients 256 MaxRequestsPerChild 4000 〜 Include /home/homepage/hello_world_rack/hello_world_rack_apache.conf hello_world_rack_apache.conf passengerのテストの場合は、VirtualHostまで使ってます。 unicornをテストする場合は、VirtualHostまでをコメントアウトし、ProxyPassのところのコメントアウトを

    apache,nginx × passenger,unicornのベンチをとってみた
  • Railsで、簡単に静的コンテンツのみを別サーバから配信する方法 - 元RX-7乗りの適当な日々

    Webサービスでは、JavaScriptファイルや、スタイルシート(CSS)ファイル、画像ファイルなど、細々とした多くの静的コンテンツ(静的ファイル)を扱う場合が多々あるかと思います。 そんな中、公開しているサービスへのアクセスが少し多くなってきた場合、静的コンテンツの配信サーバを、アプリケーションが稼動しているサーバとは別のものにしたくなりますよね。 また、画面内でアイコン画像を多数扱う場合等、多くの静的コンテンツを配信している場合などは、複数の静的コンテンツ用の配信サーバを準備し、負荷分散させることを考えますし、Amazon EC2など、海外のサーバを利用してサービスを展開する場合、どうしてもネットワークの遅延がネックとなりますので、細かい静的コンテンツの配信のみは、国内のサーバを使ったりしたくなる場合もあるかと思います。 そんなとき、Railsでは簡単に設定1つで切り替えられる仕組み

    Railsで、簡単に静的コンテンツのみを別サーバから配信する方法 - 元RX-7乗りの適当な日々
  • 例えば GC を止める・Ruby ウェブアプリケーションの高速化 - 2nd life (移転しました)

    最近クックパッドでは、アプリケーションサーバの大半が Rails 2.3 から Rails 3 に置き換わったのですが*1、リリース前のベンチマークの時点ではあまりパフォーマンスが出ず四苦八苦していました。具体的には Rails 2.3 の時と比べ MRI 1.8.7 だとレスポンスタムが200%ぐらい遅い結果でした。Rails 3 になって実装が Merb core を取り入れ疎結合で綺麗になった反面、より多くのオブジェクトと・メモリを利用する様になった影響かと思います。 そこで Ruby インタプリタの変更*2を行い検証をしたところ MRI 1.8.7 (Rails 2.3と比べ) 約200%遅い MRI 1.8.7 -> Ruby Enterprise Edition 1.8.7 2011.03 (tcmalloc 無効) 約180%低速 MRI 1.8.7 -> Ruby Ente

    例えば GC を止める・Ruby ウェブアプリケーションの高速化 - 2nd life (移転しました)
  • ログからは見えてこない高負荷サイトのボトルネック : DSAS開発者の部屋

    ちょうど1年前に「高負荷サイトのボトルネックを見つけるには」という記事を掲載していますが、この手のトラブルシューティングって結構大変で悩ましいですよね。はじめまして、新入りの@pandax381です。 ログからは見えてこないもの 「サイトの応答が遅い」という問題が発生した場合、その原因はどこにあるでしょうか。 Webアプリケーションの処理に時間が掛かっている DBサーバに投げたクエリーの応答が遅い サーバの処理能力を超えている などなど、いくつもの可能性があります。通常、上に挙げているような問題は、アプリケーションやサーバのログを調査することで、原因を突き止めることができます。 一方で、こういったログの調査だけでは、その原因にたどり着くことができなかったり、相当な苦労が伴うケースもあります。 あるサイトのある日の出来事 つい先日のことですが、KLabの運営している某ソーシャルゲームにて、サ

    ログからは見えてこない高負荷サイトのボトルネック : DSAS開発者の部屋
  • ruby-profとKCacheGrindでプロファイル野郎になる - 昼メシ物語

    速さが足りない!!!!! そんな時はプロファイリングの時間ですね。 Rubyには標準添付ライブラリとして profile というプロファイラがついてくる。でもこのライブラリはあまりに遅すぎて実用に耐えないから、多分誰も使っていない。ほとんどのRubyistは ruby-prof を使っていることだろう。 今回はこの ruby-prof を使って Ruby プログラムのプロファイリングする方法を紹介する。 計測する(ruby-prof) ruby-profはrubygemsで簡単に入る。 $ gem install ruby-profruby-profというコマンドラインツールがインストールされる。これを使うと、プログラムを変更することなく手軽にプロファイリングを行うことができる。ruby-profコマンドのusageは以下のとおり。 ruby_prof 0.9.2 Usage: ruby_

    ruby-profとKCacheGrindでプロファイル野郎になる - 昼メシ物語
  • Explaining Explain ~ PostgreSQLの実行計画を読む ~ (PDF版) — Let's Postgres

    EXPLAIN や EXPLAIN ANALYZE の使い方と、それらを利用してスロークエリの実行計画を改善する方法を紹介します。 Explaining Explain ~ PostgreSQLの実行計画を読む ~ (PDF版) OSCON 2005 で講演され、2005年のJPUG夏合宿で分担して翻訳した発表資料です。PostgreSQL 8.3 に対応できるよう内容を更新しています。 Explaining Explain ~ PostgreSQLの実行計画を読む ~ (PPT版) OSCON 2005 で講演され、2005年のJPUG夏合宿で分担して翻訳した発表資料です。PostgreSQL 8.3 に対応できるよう内容を更新しています。

  • IDEA * IDEA

    ドットインストール代表のライフハックブログ

  • Linuxでシステムに対して意図的に高負荷をかけたい場合 - 元RX-7乗りの適当な日々

    今更感があるかもしれませんが紹介。 stressコマンドを使うと、CPUやメモリ、ディスクに対して意図的に負荷を与えることができます。 どこで使うかというと、、、高負荷時のシステムの挙動を見たい場合、AutoScaling等の負荷状況に応じて自動でスケールアップ/アウトさせるための仕組みのテストをしたい場合、部屋が寒いときにPCに発熱させたい場合wwwなどで使えるのかな、と。 Stressをインストール CentOSやRedHatの場合は、DAG(rpmforge)のリポジトリがあるので、ここのパッケージからインストールしましょう。 DAGをyumのリポジトリに追加する場合は、以下リンクから(CentOS5[x86_64]系の2010/05/14時点の最新版は)"rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm"をダウンロードして、rpmインストールしま

    Linuxでシステムに対して意図的に高負荷をかけたい場合 - 元RX-7乗りの適当な日々
  • Tomcatでフェイルオーバー(比較) - 気の向くままに・・・

    (細かい設定はさておき)Tomcatでサポートされている3種類のセッション情報の共有化に関して試してみたわけですが・・・その比較を。Tomcat easy clustering configurationに詳細にまとめられていますが、個人的な意見も交えつつ。なお、フェイルオーバーに関連した細かい設定等に関しては、気が向けば改めてまとめるかもしれません。 【PersistenceManagerを利用】 PersistenceManager+FileStoreおよびPersistenceManager+JDBCStoreの組み合わせを用いた場合、セッション情報の保管が行われるまで若干のタイムラグが発生してしまいます。他にも、いくつかの不利な点があります。 設定でセッション保管の間隔を短縮することは可能だが、最低でも1秒以上の間隔は必要。当然ながら、間隔を短くしすぎるとリソースの消費は激しくなる

    Tomcatでフェイルオーバー(比較) - 気の向くままに・・・
  • 1