本連載の第3回までで説明したように、WEBrickは自分でコードを書くことで、かなり高性能なHTTPサーバーたり得ることが分かりました。 では、HTTPサーバーとして実際に運用するのはどうでしょうか?サーバーを公開する上で気になるのは、セキュリティーと速度性能です。 実は、2008年8月8日にRubyに複数の脆弱(ぜいじゃく)性が発見されました。WEBrickもDoS脆弱性が報告され... [ 詳細 ] [ 関連 ] [ ニコニコ風 ]
|
[ 詳細データを見る ] [ 関連データを見る ] [ ニコニコ風に見る ]
|
2007年11月24日、「楽天テクノロジーカンファレンス2007」において、Ruby言語の開発者で楽天技術研究所フェローのまつもとゆきひろ氏は、開発中の大規模分散処理基盤「Roma」(ローマ)と「Fairy」(フェアリー)のコンセプトを語った。研究段階ではあるものの、米グーグルなど世界トップクラスのネット企業だけが持つ大規模分散処理技術に真っ向から挑戦する試みだ。 米グ... [ 詳細 ] [ 関連 ] [ ニコニコ風 ]
|
RubyKaigiでも発表させてもらったのですが、Rubricks0.6リリースに向けてパフォーマンスをがんばって上げております。 以下、つらつらと。 render_componentが遅い render_componentはrequest.dupしてコントローラに投げなおすようなつくりになってて無駄が多い。 シンプルなsimple_render_componentを自作して解決。 →コントローラの処理時間がに5倍近く高速化 IEはDOM操作を行うと重い 一般的にDOM操... [ 詳細 ] [ 関連 ] [ ニコニコ風 ]
|
http://d.hatena.ne.jp/Gimite/20080802/1217647596でちょっと思い出した、前からやってみたかった実験をやってみたらだいたい思った通りな感じだった。 class Fixnum def times i = 0 s = self while i yield i i += 1 end end end s = 0 1000000.times{|i| s+=i } p s みたいなコードを書くわけです。ご存知の通り、 Ruby の Fixnum#times は C 言語で実装されてます。それを Ruby で実装しなおしたら当然遅くなります。ホント時間... [ 詳細 ] [ 関連 ] [ ニコニコ風 ]
|
待ち行列に入門した先週, 会社をさぼって システム性能評価と待ち行列理論 という講義を受けてきた. 待ち行列理論の入門講義で, 大学の学部でやるレベルの話らしい. 私は学部でも学部以外でも勉強したことがない話題だったので, とても興味深く聞いた. 受講後はすっかり気分も盛り上り, 待ち行列で性能評価するぜ! という気分になったのだが, 実際は難しい. 性能評価一般の難... [ 詳細 ] [ 関連 ] [ ニコニコ風 ]
|
query-reviewerはRails用のプラグインで、データベースにMySQLを使っている場合に、不適切な検索が行われていないかどうかを非常に簡単に調べることができる。(MySQL以外ではたぶん動かない。)使い方は非常に簡単で、 git clone git://github.com/dsboulder/query_reviewer.git vendor/plugins/query_reviewer するだけ。設定等はまったくいらない。インストールすると、Railsアプリの左上に「SQL DISABLED」... [ 詳細 ] [ 関連 ] [ ニコニコ風 ]
|
Memoize-0.1.0 (申請中)(仮サーバ) Memoized-0.1.0.gemMemoizationはDonald Michieにより1968年に作られた言葉でその歴史は古い。最初の実装はCommon Lispのようだ。(参照: Wikipedia - Memoization) 既に十分に古い概念なのでRubyにもMemoizationの実装は存在するが随分と低機能で無駄なIOが発生するので高機能なMemoizationの実装をつくった。Memoizationは簡単に言えば次のような機能である。関数呼び出しの結果を引... [ 詳細 ] [ 関連 ] [ ニコニコ風 ]
|
|
『 メンテナンス性などとトレードオフな部分も多々。やるとしてもチューニング段階に効果を計測しつつやるべき。 』 [ 詳細 ] [ 関連 ] [ ニコニコ風 ]
|
Ruby Associationは2007年10月29日、Ruby公式ロゴ選定コンテスト「Rubyロゴコンテスト」の結果を発表した。Rubyの公式ロゴにはTom Schaub氏の作品が採用された。 Rubyの公式ロゴ決定! | エンタープライズ | マイコミジャーナル 公式ロゴが決定しました。おなじみのルビーを使っているせいか、そんなに代わり映えしないような。 まつもとさんが [ruby-list:44161]Ruby公式ロゴコンテスト結果発表 で... [ 詳細 ] [ 関連 ] [ ニコニコ風 ]
|
こんにちは satoです。 現在 Ruby on Rails で書かれた アプリケーションの 一部のURIを高速化するために、lighttpd + FastCGI で 書き直しています。FastCGI は あらかじめ プロセスを常駐させておき、リクエストが来た際に、常駐しているプロセスに Unix domain socket あるいは TCP/IP で通信を行い プロセス起動時のオーバーヘッドを無くすことにより、処理を高速化します。今回は lighttpd + FastCG... [ 詳細 ] [ 関連 ] [ ニコニコ風 ]
|
Railsには Page, Action, Fragment という3段階のキャッシュ機能が備わっている。tDiaryを使っていても思うが、修正よりも参照の方が圧倒的に多いコンテンツで毎回cgiで同じコンテンツを吐くのは無駄だなぁ。でもキャッシュを自分で用意するのは面倒だし、フレームワークかWebサーバがやってくれたらなぁ。Railsはそんなかゆい所にも手が届く、Web開発界の万能戦艦ノーチラス号なんです... [ 詳細 ] [ 関連 ] [ ニコニコ風 ]
|
|
Photo by masuidrive76 Railsで高速化するためには、Memcachedによるキャッシュが欠かせないですが、もしmemcachedが落ちてしまうと、サービス全体でエラーが発生してしまうのが、気になるところでした。 Takiuchiさんさんと話をしていて、fiveruns-memcache-clientを使うことで、memcachedを再起動さえすれば自動で再接続されることはわかったのですが、やはりmemcachedが落ちている時はエラーに... [ 詳細 ] [ 関連 ] [ ニコニコ風 ]
|
HotRuby が Ruby 本家よりも僕の作ったベンチマークで高速であることの種明かし。 現代のオブジェクト指向言語の処理系で、最もパフォーマンスに影響するのはインスタンスの生成です。そのため、言語仕様として、プリミティブ型を用意することがパフォーマンス上、重要です。Java の場合は、int 型と Integer 型があり、Java 5 からは暗黙の型キャストが行われます。 JavaScript でも、... [ 詳細 ] [ 関連 ] [ ニコニコ風 ]
|
社内システムにはRailsを使ってるシステムがあったりするんですが、バージョンアップのタイミングで大幅にアクセス数が増えたらパフォーマンスが出なくなったので、同じサーバーの違うポートでmongrelを複数動かすようにして、Apacheのリバースプロキシで負荷分散させつつ、アプリ側の負荷を少しでも下げる為にmod_deflateとmod_expireを使って少しYSlow対策を施してみました。 設定... [ 詳細 ] [ 関連 ] [ ニコニコ風 ]
|
『 『Erubisisafast,secure,andveryextensibleimplementationofeRuby.』pureRubyかつ高速らしい。 』 [ 詳細 ] [ 関連 ] [ ニコニコ風 ]
|
」というプログラミング言語のベンチマークをしているサイトがあります。 このサイトでは、Linux入りPentium 4マシンを使って様々な言語で書いたプログラムのベンチマークを公開しています。 今回はC言語とC++,C#,Javaを比べてみました。 あと、その他言語もそれぞれ比べてみました。 グラフの白い棒がCPU時間を表しています。 白い棒が延びている側の方が実行速度が速い事を現し... [ 詳細 ] [ 関連 ] [ ニコニコ風 ]
|
Twitter started as a side project and blew up fast, going from 0 to millions of page views within a few terrifying months. Early design decisions that worked well in the small melted under the crush of new users chirping tweets to all their friends. Web darling http://rubyonrails.org/">Ruby on Rails was fingered early for the scaling problems, but Blaine Cook, Twitter's lead architect, held Ruby blameless: For us, it’s really about scaling horizontally - to that end, Rails and Ruby haven’t been stumbli... [ 詳細 ] [ 関連 ] [ ニコニコ風 ]
|
ActiveRecord は素晴らしいパーシスタンス・フレームワークですが、下位レベルの詳細を隠してしまうため、パフォーマンスの問題を起こしがちです。最も一般的な問題について、その解決方法をこの記事で学びましょう。 Ruby on Rails でプログラミングをしていると悪い癖がつくかもしれません。この成長しつつあるフレームワークは、他のフレームワークでは一般的な、退屈な作業... [ 詳細 ] [ 関連 ] [ ニコニコ風 ]
|
Rubyはインタプリタとして実現されています。これはある意味必然的なもので、 Rubyのようにevalを持っていたり、メソッドが実行時に決まったり、結果の型 (クラス)もやはり実行時に決まるようなオブジェクト指向言語には避けられないことなわけですが、インタプリタであることは決して悪いことばかりではありません。といってもソフトウェア工学的な部分はさておき、ここで... [ 詳細 ] [ 関連 ] [ ニコニコ風 ]
|