質問

私は、ストレージ用のSimpleDBと東京タイラントの組み合わせを使用Merbのアプリケーションをコーディングしています。私はが(リスト)のの入力-機能をのリストの各値についてのスレッドをスピンアップして、結果セットをマージすることにより、実装していますこれらのデータストアの両方のために。これは、Webアプリケーションであることを念頭に、私が作成しなければならないスレッドの数に制限はありますか? Rubyの1.8.7、彼らはスレッドをカーネルいないので。

役に立ちましたか?

解決

スレッドあなたがここで何をしようとしてに悪いアプローチのように思える、とあなたはJRubyのを使用できない場合、私は完全にスレッドをドロップすると思います。ただし、データベースのロードルビーファイルを作成し、ベンチマークのライブラリを使用することができますには番号が最速されているいくつかのベンチマークを行います。おそらく、あまりにも使用されているメモリを見てみたい。

他のヒント

私にはあなたの問題はそれほどマルチシングルコアが助けるかもしれスレッド、IOバウンドに聞こえます。

あなたはおそらく東京暴君と独立したマルチスレッドプロセスで実行されているシンプルなDBにお待ちしております、あなたのメインのRubyのループで時間のほとんどを。

それでは、どのように多くのスレッド?知るか?あなたはのをベンチマークとメジャーに持ってしようとしている。

あなたはMRIを使用している場合、それは計算動作になるとMRIが有用でない緑のスレッドを使用すると、

そして、そのような場合には、スレッドを使用すると、大きな助けになることはありません。私はJRubyの(ネイティブスレッド)を使用して、その後に役立つであろうと信じています。 私はネイティブスレッドのために、それが利用可能なコアを利用するために(コア数+ 1)を使用するのが最善だということを聞いて続けています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top