2

月に100,000ヒットが予想される場合、opencpuを実行するために必要な最小サイズのサーバーはどれくらいですか?

opencpuはエキサイティングなプロジェクトだと思いますが、ラックスペースなどのクラウドホスティングサービスは1 GBのRAMに対して月額約40ドルかかるため、opencpuを導入する際のメモリ使用量について知っておく必要があります。

何もせずに、またはRAMにデータやパッケージをロードせずにRをロードすると、約700mのRAM(仮想)と50メガバイトのRAM(常駐)を使用することを知っています。

opencpuがrApacheを使用し、rApacheがpreforkingを使用していることは知っていますが、同時ユーザーの数が増えるにつれて、これがどのように拡張されるかを知りたいと思います。ありがとう。

回答ありがとうございます

LAを訪れたときにJeroenOomsと話をしましたが、opencpuは正しく使用されれば同時実行性の高い環境で機能し、問題が発生した場合は彼が修正できると確信しています。結局のところ、彼の論文に関連するOpencpu!特に、opencpuについて私が役立つと思うのは、ubuntuのAppArmorとの統合です。これにより、プロセスがRAMとCPUを使いすぎるのを制限できます。apacheもこれを実行できる可能性があると思いますが、RAppArmorはこれを実行できます。素晴らしい!AppArmorが唯一の利点である場合は、それとjsonをバックエンドとして使用しますが、opencpuはこれらすべてのインストールを合理化し、組み込みのAPIシステムを提供できるようです。

ウェブホスティングのコストを考えると、実行可能なリアルタイム分析システムは次のとおりだと思います。

  • 必要に応じて、専用の分析サーバーでR統計モデルをオンデマンドで作成します(たとえば、cronを使用して毎日または1時間)
  • モデルの結果を、ネイティブRオブジェクトとしてftpを使用してopencpuサーバー上のディレクトリに転送します
  • opencpuサーバーで、ディレクトリに移動し、統計モデルを表すRオブジェクトを取得してから、それを使用して予測またはシミュレーションを実行します。たとえば、「predict」関数を使用して、ユーザーが指定した変数に基づいて推定値を提供します。

Rをリアルタイム分析のバックエンドにするための実行可能な方法としてこれを他の誰かが見ていますか?

4

1 に答える 1

2

ダークは正しいです、それはすべてあなたが呼んでいるR関数に依存します。OpenCPUアーキテクチャのオーバーヘッドはごくわずかである必要があります。OpenCPU自体は小さなサーバーで実行されますが、Rの一部の機能は、他の機能よりもはるかに多くのメモリ/CPUを必要とします。

opencpuを実行するためだけに必要なリソースの量を本当に知りたい場合は、ベンチマークを実行できます。お気づきのように、プリフォークはメインプロセスのセッションを分岐するために使用されるため、ほとんどの場合、フォークのコピーオンライトの原則により、かなり安価になります。

また、微調整できるものが他にもいくつかあります。たとえば、頻繁に使用されるパッケージのプリロード。

于 2012-11-11T01:51:40.780 に答える