Home > Tags > concurrency
concurrency
Webでの非同期処理を考えてみる [長い記事だけどコメント求む!]
- 2008-09-23 (Tue)
- Ruby on Rails | iphone | photoshare
Photo by harry harris
いまPhotoShareのサーバの実装を大きく変えようとして悩んでいます。 (参考: Life is beautiful: マルチスレッド・プログラミングの落とし穴、その2)
Rails 2.2でThread safeになるとか、NeverBlockで12倍速くなるっていう話もあるんだけど、負荷が上がればレスポンスが悪くなるのは、どうしようもない。マシンを増やせば解決できる部分もあるけど、マシンを増やせばコストは上がる。
Life is beautifulで書かれていますが、確かに全部の処理を同期的に行う必要はないんですよね。
PhotoShareでも、既にいくつかのページは非同期にerbを生成して、それをRailsとerubisで読み込んで実行しています。
しかし、Railsだけではこういった非同期の処理やviewの一部を事前に生成するという処理ができないので、この処理は別途プラグインを作って実現しています。
高速化の為にはキャッシュを使おう
Railsで高速化を考えていくと、特にキャッシュが重要になります。たとえばブログエンジンで、RSS Feedを生成するアクションがあったとします。
- Comments: 2
- Trackbacks: 2
Home > Tags > concurrency
- Search
- Feeds
- Meta